-
Notifications
You must be signed in to change notification settings - Fork 175
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
Model Context Protocol #484
Comments
Yeah, this is all over the tech Internet today. It appears to be a way to formalize tool-use for Anthropic models. I think I'm some distance away from adding support for this, since gptel currently doesn't support tool-use either. I'm currently working on adding a little state machine to gptel to handle multi-step LLM interactions, since doing this directly with nested callbacks created a big mess. In the time it'll take me to get there, we'll know if this protocol catches on. It may also be worth making a generic |
Agreed.
There sure does seem to be a lot of enthusiasm for it - this repo listing implementation appeared yesterday. https://github.com/appcypher/awesome-mcp-servers among others https://github.com/mark3labs/mcp-go https://sourcegraph.com/blog/cody-supports-anthropic-model-context-protocol The open question at this point is whether the other frontier and open source models adopt it. Someone has opened a Manifold market on this question: https://manifold.markets/AlistairRoche/will-openai-reference-anthropics-mo |
Hey. Just stumbled across this. MCP is actually less about formalizing tool use than just trying to generalize a way of moving any kind of context into an assistant. In this way, I often think about it more as LSP but for assistant panels. It has 'prompts' which for example the Zed editor maps to slash commands that are user invoked, and it has resources which are more like file attachments. Of course it also has tool use, but its quite a bit more than that. (disclaimer, i wrote the protocol :p). Hope that helps. Would be cool to see MCP in Emacs. |
Burying the lede there @dsp-ant 😄 Thanks for the clarification. I am thinking a generic Elisp MCP adapter that all LLM clients for Emacs can use might be the way to go here. I've initiated a discussion with the authors of the (ostensibly) most popular Emacs LLM clients. |
I developed a simple Emacs implementation for the MCP interface, which can automatically convert MCP tools into gptel tools. auto convert This is an exploratory version of a simple implementation that currently supports only calling tools (call tools) and does not fully implement the standard MCP protocol. Through this attempt, I hope to discover a better way to integrate MCP with Emacs. |
Great initiative with mcp.el @lizqwerscott ! Things are definitely moving in an awesome direction! Joining this discussion from the perspective of adding more AI features to emacs. Emacs should also implement a server for MCP where the LLM can tell you to open a specific buffer, move to the next position, change text, etc. Context: So, while an emacs MCP client will be required, I think we should also look into an emacs MCP server so an AI can execute actions within emacs:
|
@ovistoica For implementing grammar checking and code editing features like cursor, I believe the key lies in enabling the model to develop a deeper understanding of the code. The following tools can be defined:
When modifying a piece of code in a project, users can select the target region in Emacs and send the modification command along with the selection to the AI. The AI can then decide whether to invoke the defined tools to assist with the modification, achieving a functionality similar to the intelligent code editing features of the Cursor editor. This approach allows the AI to better understand the project's overall code structure, enhancing both editing accuracy and collaboration efficiency. |
Apropos Context, MCP looks very interesting:
Open sourced by Anthropic today it looks like a very appealing solution to some of the problems we've been discussing and some of those we haven't. It's not clear whether this will be widely adopted but its certain that Anthropic will. I've created this feature request simply to notify everyone of this potential opportunity. It's a protocol that's worth a close look for embedding in gptel as a back-end to enable access to what are likely to be a growing number of data resources, from databases, files, services, which using MCP as a client/server protocol, can provide a unified way to surface context from multiple heterogeneous sources.
Check out the Quickstart for how it works. Of course Claude will builds server for you. Haven't tried this in elisp yet :)
[2024-11-26 Tue 13:56] fae3ffb391f4
The text was updated successfully, but these errors were encountered: