-
Notifications
You must be signed in to change notification settings - Fork 2.4k
MCP server for Substrate-based chains #2535
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅ |
I have read and hereby sign the Contributor License Agreement. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @jakehemmerle nice to talk to you again. I see you marked 0% for DOT payment, however at least 50% DOT (vested linearly over two years) is mandatory now for the grants program. Would you be willing to accept half the payment in DOT and if so could you update this?
Hey Kegan! I hope all is well in your world. Just updated it. Another thing, I now realize that grants for individual contributors might aim for a max $10k grant instead of max $30k. Would it be better to decompose this into a smaller set of milestones and aim for the $10k instead? |
Thanks @jakehemmerle much appreciated. I have marked the application as ready for review and will ping the rest of the committee for comment. To answer your question, I would leave as is for now and you can always change it down the line if it isn't accepted. Thanks! |
A small suggestion from me would be to not call it |
Is there a reason, semantically, that mcp-polkadot is more descriptive? This would work for any Substrate-based runtime (eg. Polkadot, Astar, Entropy, etc). |
Developer tooling & resources will benefit from consolidation around the Polkadot brand, given the branding overhaul initiated across the ecosystem in the past months/year. These two non-exhaustive links might provide a bit more context:
Ideally you want to reduce possible confusion and reduce cognitive load on people that don't have the full history in mind. In short, it's all Polkadot. |
@KarimJedda Right on, thanks for the context. Happy to change to |
@keeganquigley can you let me know what is missing from the review? If payment details are the bottleneck, can you let me know what email to send them to? |
Thanks @jakehemmerle yes can you please send them to [email protected] Much of the team is ooo this week, sorry for the delay. |
Good morning @keeganquigley , anything I help with on my end for this? |
Sorry for the delay here, just a couple more clarifying technical questions:
Thanks for any further insights you can provide. |
For simply serving on-chain state (as Resources), the MCP server can wrap around Polkadot.js and get all queryable pallet data from its
Using or looking to PolkadotJS and subxt for techniques is the obvious solution. It's SCALE-encoded schema. I wrote Substrate runtimes for Entropy for almost 2 years so I feel like I have a pretty good feel of what issues I might run into.
Standard error handling seems appropriate, where the server would just format PolkadotJS errors as text and return to the client.
The MCP server is relatively stateless, so restarting the daemon or having it reload on runtime update Events would be easy. The server would be able to be started with a single argument (the URL to a Substrate RPC endpoint), which fetches the metadata runtime at startup and then generates the resources.
Networks themselves wouldn't really utilize MCP, it would be a service that (non-validating) node operators host (the same way projects host associated services like a frontend for their web3 apps). One example for EVM-compatible endpoints is here: https://github.com/Phillip-Kemper/ethereum-rpc-mpc |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @jakehemmerle, thanks for the application. I am happy to support it. The only question I have is whether you actually plan on working on the items listed in the Future Plans
section, or what the deciding factor would be.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for the delay @jakehemmerle and thanks for your thorough answers. I'm happy to approve as well.
While waiting for further reviews could you please also complete KYB verification for the legal entity, or KYC in the case that it is just yourself? This is now required for all applicants. Thanks! |
Thanks for the support @semuelle @keeganquigley
Biggest on my end would probably be grant support and feature prioritization. Obviously, the hope with grants is that the output is integrated into the ecosystem in some capacity. It'd be important to prioritize the Future Plan items, so we would probably want to talk with teams that are already using AI heavily in their product, documentation, or engineering workflows (maybe client fuzzing in CI?) sooner rather than later to gauge integration and get feedback. Any teams you can think of to connect with first? A first use case for this MVP version could be an AI-powered chat assistant that is hosted on indexer sites. Imagine Etherscan-equivalent had a click-window in the bottom right and I could say "What contract did XYZ address most recently interact with". That would also give us info on what users are intending to do, to help feature prioritization. Maybe getting in touch with teams providing index services or node/service providers could be a great start on that front. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @jakehemmerle ,
thanks for the application. I'm happy to support it!
Most grantees prefer medium for publishing an article.
Thanks for the info, @jakehemmerle. We are only missing KYC now, then we're ready to merge. |
Congratulations and welcome to the Web3 Foundation Grants Program! Please refer to our Milestone Delivery repository for instructions on how to submit milestones and invoices, our FAQ for frequently asked questions and the support section on our website for more ways to find answers to your questions. |
Hi all, where can I follow the progress of this initiative? :) |
Question for @jakehemmerle. We haven't received any deliveries or status updates yet. |
Sorry for the silence @KarimJedda @semuelle , I've been wrapping up a project that is taking longer than I expected. Can I check back in two weeks? |
I just rereviewed the Grant criteria and I see the clause about maintaining an updated timelines. Can we plan for a late august completion? |
No rush from my side, @jakehemmerle . We are not super strict with timelines. I think Karim is just interested in your project. |
Right on! Will keep you all updated :) |
Hi @jakehemmerle since you aren't able to work on this currently, I think we should go ahead and cancel since we have another team working on it. We can potentially open it again later on should you wish to continue working on it. Let me know if this sounds good; will plan to close it in a few days. |
Hey @keeganquigley sorry again for the lack of communication. I'm stoked to hear you've got another team working on this. If it makes sense financially to cancel this and let them finish, I totally understand, otherwise I will start on this in the next day or two. Let me know what you'd prefer. No hard feeling. |
Project Abstract
mcp-polkadot
aims to expose any Substrate-based chain's on-chain state to AI agents via the Model-Context Protocol (MCP). More examples of MCP can be found hereGrant level
Application Checklist
project_name.md
).@_______:matrix.org
(change the homeserver if you use a different one)