Add share project info MCP tool#6118
Conversation
|
I added an mcp transcript test, with the caveat it will need updating as it stands whenever a new release of the example project is updated. Perhaps, the best thing to do is to use a project that never expects to be updated? open to suggestions on if there is a canonical project to use |
|
Thanks — there is still a minor build error though; I'm assuming an overridden stack.yaml setting on your end caused it to be overlooked (or are you using cabal for development?) |
ChrisPenner
left a comment
There was a problem hiding this comment.
Cool stuff!
Just wondering, were you aware of getProjectByName in Unison.Cli.Share.Projects?
I believe it already implements the call into this endpoint and it'd be nice not to duplicate that if we can avoid it :)
You can use cliToMCP to run it in the tool.
If it's possible to use that instead I'd prefer that.
Also, not sure what @aryairani prefers, but I think I'd prefer to omit the transcript entirely rather than include a transcript that depends on an external server and which could change at any time.
Not sure if I understood — an MCP transcript that hits Share seems okay (or no?); but yeah it should be a project that wouldn't get updated. If we decide to go that way, we can create it. |
|
@bbarker Looking forward to getting all of your recent contributions merged, just have some small loose ends on each. Feel free to let us know if you want an executive decision from our end, or else we can pick up the convo at any point. |
I personally prefer when all tests can run locally and aren't subject to changes in the outside world, but in this case it's between a test like that or no test at all, so whichever you like is okay with me 👍🏼 |
|
@bbarker Arya and I chatted, I'll go ahead and remove the test and merge without it 👍🏼 Thanks for the contribution! |
|
Thanks, sorry for not seeing the comments earlier! |
Add
share-project-infoMCP tool for authenticated project lookupsOverview
Adds a new MCP tool
share-project-infothat retrieves project information from Unison Share using the authenticated/ucm/v1/projects/projectendpoint.Why: Tools like reflex that check for dependency updates were making direct unauthenticated HTTP calls, which fails for private projects. The existing
share-project-searchtool doesn't returnlatestReleaseinfo.Example:
Implementation notes
ShareProjectInfoTooltoTypes.hswith argument parsingshareProjectInfoandProjectInfoResponsetoShare/API.hsTools.hsTest coverage
Tested manually by querying private project
@nusentry/timecapsule- successfully returned project info with authentication.