DCAP | Dynamic Capability Acquisition Protocol #615
boorich
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Pre-submission Checklist
What would you like to share?
Hey folks,
I have been working on discoverability of MCP tools for a while now and would like to invite you taking a look at what I have by now:
(first half of the video is intro for people who don't nerd about MCP all day long)
What:
A specification and a data stream (ws://159.89.110.236:10191) that broadcasts tool invocations and returns useful data to clients plus some tooling here and there so it is easy to try and implement.
How:
While building a couple of MCP servers in my day job and learned that it can be quite hard to find and use tools automagically. Especially since there is more and more x402 payment gating in the mix, which turns out to be very exciting (can monetize) on one hand, but, at the same time, more complex on the other hand (stuff breaks all the time).
So, I started solving some my own problems like this:
First I made the message spec, so tools can expose themselves when they run via UDP. Then I made a little relay that translates those and serves a websocket so everyone can consume them and broadcast there. After that I enabled some servers that I am working on to use this and extended the inspector so it can handle that as well (if anyone wants that inspector-pro I can push).
After I saw messages coming in I built a couple of clients to consume the stream and figured out that they can now autonomously get new tools beyond what they have in their MCP.json as you see in the video. The idea is that they keep using their tool selection algorithm as is but reach out into a more expansive set of tools across servers. My hypothesis is, that if a client can find and use the right tools on demand, they should be able to accomplish their goals more efficiently and with less wasteful LLM calls on the way.
However, when x402 hit some weeks ago, I had to extend the protocol to handle payments which worked fine and that's where I am right now.
Challenges:
Getting the concept right and setting it all up was a bit tricky, but now that it is working the biggest challenge is to get more real traffic onto the protocol. As I said, this is open and free and no strings attached whatsoever. You can use it and do whatever you want with it. MIT all the way.
Examples:
If you feel like adding this to your tool calls, here are some examples that should help getting started:
Learned:
Tool Discovery is required to scale the agent-first internet and everyone building MCP server could help getting this right. (I don't think I am getting it all right yet, but hopefully people better than me are around to chip in their expertise.)
Contribution:
The easiest way to contribute is to broadcast your invocations to the stream. However, if you feel like working on this more seriously, you can definitely do so by forking and adding your ideas. Or you can just open issues and I do.
I would love to hear all of your thoughts and maybe see some messages on the relay soon.
Thanks for reading!
Relevant Links
No response
Beta Was this translation helpful? Give feedback.
All reactions