This is really interesting. Has anyone seen a good registry of MCP servers somewhere? What I would love to be able to do is ask for a task and have the agent figure out what servers and tools it needs to accomplish that task directly.
OP - congrats on this launch! I think there are a lot of useful bits here, especially the communication abstractions for MCP and having clear recipes to implement patterns mentioned by Anthropic team is a big plus.
This looks very nice, and obviously needed in hindsight.
I would love to see a Typescript/node port of this.
What's so special about this other than poisoning straightforward python code with async/await?
Claude message API already accepts a tools=[] parameter. All you need is a json schema of your python class and docs which you can easily generate with a few dozen lines of code.
Then just call whatever the LLM outputs like getattr(instance, result["name"])( **result["kwargs"]) and your computer is controlled by AI congratulations.
I'm considering implementing MCP into an application in the future. This information will be very helpful for that. Thank you!
Please let me know if you have any questions - I'll be monitoring the post today and would love to discuss!
This is awesome!
MCP Agent seems super promising and the team behind it is amazing!
The example code reminds me how much I absolutely loath python async/await syntax.
>>> server_names=["fetch", "filesystem"]
This is, IMO, bad design. Where is the fetch defined? How would I find these? If it was an imported module I could easily find the definition to see what its doing, or subclass it to make my own, but instead its just some magic strings getting passed making it astronomically more difficult to understand what the heck is going on.
this is neat - congrats!