13 ms·
Model Context Protocol
- mustime 2y ago[dead]
- orliesaurus 2y agoAre there any other Desktop apps other than Claude's supporting this?
- jdorfman 2y agoCody (VS Code plugin) is supporting MCP https://sourcegraph.com/blog/cody-supports-anthropic-model-context-protocol https://sourcegraph.com/blog/cody-supports-anthropic-model-c...
- orliesaurus 2y agoWhat about ChatGPT Desktop? Do you think they will add support for this?
- jdorfman 2y agoI hope so, I use Claude Desktop multiple times a day.
- deet 2y agoMy team and I have a desktop product with a very similar architecture (a central app+UI with a constellation of local servers providing functions and data to models for local+remote context) If this protocol gets adoption we'll probably add compatibility. Which would bring MCP to local models like LLama 3 as well as other cloud providers competitors like OpenAI, etc
- orliesaurus 2y agowould love to know more
- deet 2y agoLanding page link is in my bio We've been keeping quiet, but I'd be happy to chat more if you want to email me (also in bio)
- WhatIsDukkha 2y agoI don't understand the value of this abstraction. I can see the value of something like DSPy where there is some higher level abstractions in wiring together a system of llms. But this seems like an abstraction that doesn't really offer much besides "function calling but you use our python code". I see the value of language server protocol but I don't see the mapping to this piece of code. That's actually negative value if you are integrating into an existing software system or just you know... exposing functions that you've defined vs remapping functions you've defined into this intermediate abstraction.
- resters 2y agoThe secret sauce part is the useful part -- the local vector store. Anthropic is probably not going to release that without competitive pressure. Meanwhile this helps Anthropic build an ecosystem. When you think about it, function calling needs its own local state (embedded db) to scale efficiently on larger contexts. I'd like to see all this become open source / standardized.
- jerpint 2y agoim not sure what you mean - the embedding model is independent of the embeddings themselves. Once generated, the embeddings and vector store should exist 100% locally and thus not part of any secret sauce
- ethbr1 2y agoHere's the play: If integrations are required to unlock value, then the platform with the most prebuilt integrations wins. The bulk of mass adopters don't have the in-house expertise or interest in building their own. They want turnkey. No company can build integrations, at scale, more quickly itself than an entire community. If Anthropic creates an integration standard and gets adoption, then it either at best has a competitive advantage (first mover and ownership of the standard) or at worst prevents OpenAI et al. from doing the same to it. (Also, the integration piece is the necessary but least interesting component of the entire system. Way better to commodify it via standard and remove it as a blocker to adoption)
- deleted 2y ago
- orliesaurus 2y agoHow is this different from function calling libraries that frameworks like Langchain or Llamaindex have built?
- quantadev 2y agoAfter a quick look it seemed to me like they're trying to standardize on how clients call servers, which nobody needs, and nobody is going to use. However if they have new Tools that can be plugged into my LangChain stuff, that will be great, and I can use that, but I have no place for any new client/server models.
- andrewstuart 2y agoCan someone please give examples of uses for this?
- singularity2001 2y agolet Claude answer questions about your files and even modify them
- keybits 2y agoThe Zed editor team collaborated with Anthropic on this, so you can try features of this in Zed as of today: https://zed.dev/blog/mcp https://zed.dev/blog/mcp
- deleted 2y ago[deleted]
- singularity2001 2y agoLooks like I need to create a rust extension wrapper for the mcp server I created for Claude?
- segmondy 2y agoSo they want an open protocol, and instead of say collaborating with other people that provide models like Google, Microsoft, Mistral, Cohere and the opensource community, they collaborate with an editor team. Quite the protocol. Why should Microsoft implement this? If they implement their own protocol, they win. Why should Google implement this? If they implement their own protocol, they win too. Both giants have way more apps and reach in inside businesses than Anthropic can wish.
- bentiger88 2y agoOne thing I dont understand.. does this rely on vector embeddings? Or how does the AI interact with the data? The example is a sqllite satabase with prices, and it shows claude being asked to give the average price and to suggest pricing optimizations. So does the entire db get fed into the context? Or is there another layer in between. What if the database is huge, and you want to ask the AI for the most expensive or best selling items? With RAG that was only vaguely possible and didnt work very well. Sorry I am a bit new but trying to learn more.
- orliesaurus 2y agoit doesnt feed the whole DB into the context, it gives Claude the option to QUERY it directly
- cma 2y agoIt never accidentally deletes anything? Or I guess you give it read only access? It is querying it through this API and some adapter built for it, or the file gets sent through the API, they recognize it is sqllite and load it on their end?
- simonw 2y agoIt can absolutely accidentally delete things. You need to think carefully about what capabilities you enable for the model.
- simonw 2y agoVector embeddings are entirely unrelated to this. This is about tool usage - the thing where an LLM can be told "if you want to run a SQL query, say <sql>select * from repos</sql> - the code harness well then spot that tag, run the query for you and return the results to you in a chat message so you can use them to help answer a question or continue generating text".
- lukekim 2y agoThe Model Context server is similar to what we've built at Spice, but we've focused on databases and data systems. Overall, standards are good. Perhaps we can implement MCP as a data connector and tool. [1] https://github.com/spiceai/spiceai https://github.com/spiceai/spiceai
- orliesaurus 2y agoI would love to integrate this into my platform of tools for AI models, Toolhouse [1], but I would love to understand the adoption of this protocol, especially as it seems to only work with one foundational model. [1] https://toolhouse.AI https://toolhouse.AI
- punkpeye 2y agoThis looks pretty awesome. Would love to chat with you if you are open about possible collab. I am frank [at] glama.ai
- orliesaurus 2y agoEmailed
- bionhoward 2y agoI love how they’re pretending to be champions of open source while leaving this gem in their terms of use “”” You may not access or use, or help another person to access or use, our Services in the following ways: … To develop any products or services that compete with our Services, including to develop or train any artificial intelligence or machine learning algorithms or models. “””
- loeber 2y agoOpenAI and many other companies have virtually the same language in their T&Cs.
- j2kun 2y agoPresumably this doesn't apply to the standard being released here, nor any of its implementations made available. Each of these appears to have its own permissible license.
- haneefmubarak 2y agoEh the actual MCP repos seem to just be MIT licensed; AFAIK every AI provider has something similar for their core services as they do.
- cooper_ganglia 2y ago
- pants2 2y agoThis is awesome. I have an assistant that I develop for my personal use and integrations are the more difficult part - this is a game changer. Now let's see a similar abstraction on the client side - a unified way of connecting your assistant to Slack, Discord, Telegram, etc.
- slalani304 2y agoBuilding something for this at surferprotocol [dot] org. Imo not every company will expose API's for easily exporting data from their platforms (linkedin, imessage, etc), so devs have to build these themselves
- killthebuddha 2y agoI see a good number of comments that seem skeptical or confused about what's going on here or what the value is. One thing that some people may not realize is that right now there's a MASSIVE amount of effort duplication around developing something that could maybe end up looking like MCP. Everyone building an LLM agent (or pseudo-agent, or whatever) right now is writing a bunch of boilerplate for mapping between message formats, tool specification formats, prompt templating, etc. Now, having said that, I do feel a little bit like there's a few mistakes being made by Anthropic here. The big one to me is that it seems like they've set the scope too big. For example, why are they shipping standalone clients and servers rather than client/server libraries for all the existing and wildly popular ways to fetch and serve HTTP? When I've seen similar mistakes made (e.g. by LangChain), I assume they're targeting brand new developers who don't realize that they just want to make some HTTP calls. Another thing that I think adds to the confusion is that, while the boilerplate-ish stuff I mentioned above is annoying, what's REALLY annoying and actually hard is generating a series of contexts using variations of similar prompts in response to errors/anomalies/features detected in generated text. IMO this is how I define "prompt engineering" and it's the actual hard problem we have to solve. By naming the protocol the Model Context Protocol, I assumed they were solving prompt engineering problems (maybe by standardizing common prompting techniques like ReAct, CoT, etc).
- ineedaj0b 2y agodata security is the reason i'd imagine they're letting other's host servers
- killthebuddha 2y agoThe issue isn’t with who’s hosting, it’s that their SDKs don’t clearly integrate with existing HTTP servers regardless of who’s hosting them. I mean integrate at the source level, of course they could integrate via HTTP call.
- deleted 2y ago[deleted]
- thelastparadise 2y ago
- _pdp_ 2y agoIt is clear this is a wrapper around the function calling paradigm but with some extensions that are specific to this implementation. So it is an SDK.
- prnglsntdrtos 2y agoreally great to see some standards emerging. i'd love to see something like mindsdb wired up to support this protocol and get a bunch of stuff out of the box.
- singularity2001 2y agoTangential question: Is there any LLM which is capable of preserving the context through many sessions, so it doesn't have to upload all my context every time?
- fragmede 2y agoit's a bit of a hack but the web UI of ChatGPT has a limited amount of memories you can use to customize your interactions with it.
- singularity2001 2y ago"remember these 10000 lines of code" ;) In an ideal world gemini (or any other 1M token context model) would have an internal 'save snapshot' option so one could resume a blank conversation after 'priming' the internal state (activations) with the whole code base.
- alberth 2y agoIs this basically open source data collectors / data integration connectors?
- somnium_sn 2y agoI would probably more think of it as LSP for LLM applications. It is enabling data integrations, but the current implementations are all local.
- hipadev23 2y agoCan I point this at my existing private framework and start getting Claude 3.5 code suggestions that utilize our framework it has never seen before?
- wolframhempel 2y agoI'm surprised that there doesn't seem to be a concept of payments or monetization baked into the protocol. I believe there are some major companies to be built around making data and API actions available to AI Models, either as an intermediary or marketplace or for service providers or data owners directly- and they'd all benefit from a standardised payment model on a per transaction level.
- ed 2y agoI’ve gone looking for services like this but couldn’t find much, any chance you can link to a few platforms?
- deleted 2y ago[deleted]
- rsong_ 2y agoI'm working on Exfunc [1], which is an API for AI to fetch data and take action on the web. Sent you an email, would love to chat. [1] https://www.exfunc.com https://www.exfunc.com
- benopal64 2y agoIf anyone here has an issue with their Claude Desktop app seeing the new MCP tools you've added to your computer, restart it fully. Restarting the Claude Desktop app did NOT work for me, I had to do a full OS restart.
- anaisbetts 2y agoHm, this shouldn't be the case, something Odd is happening here. Normally restarting the app should do it, though on Windows it is easy to think you restarted the app when you really just closed the main window and reopened it (you need to close the app via File => Qui)
- melvinmelih 2y agoThis is great but will be DOA if OpenAI (80% market share) decides to support something else. The industry trend is that everything seems to converge to OpenAI API standard (see also the recent Gemini SDK support for OpenAI API).
- will-burner 2y agoTrue, but you could also frame this as a way for Anthropic to try and break that trend. IMO they've got to try and compete with OpenAI, can't just concede that OpenAI has won yet.
- thund 2y ago"OpenAI API" is not a "standard" though. They have no interest in making it a standard, otherwise they would make it too easy to switch AI provider. Anthropic is playing the "open standard" card because they want to win over some developers. (and that's good from that pov)
- Palmik 2y agoOpenAI API is natively supported by several providers (Google, Mistral, to name a few).
- defnotai 2y agoThere’s clearly a need for this type of abstraction, hooking up these models to various tooling is a significant burden for most companies. Putting this out there puts OpenAI on the clock to release their own alternative or adopt this, because otherwise they run the risk of engineering leaders telling their C-suite that Anthropic is making headway towards better frontier model integration and OpenAI is the costlier integration to maintain.
- skissane 2y agoI wonder if they'll have any luck convincing other LLM vendors, such as Google, Meta, xAI, Mistral, etc, to adopt this protocol. If enough other vendors adopt it, it might still see some success even if OpenAI doesn't. Also, I wonder if you could build some kind of open source mapping layer from their protocol to OpenAI's. That way OpenAI could support the protocol even if they don't want to.
- jvalencia 2y agoI don't trust an open source solution by a major player unless it's published with other major players. Otherwise, the perverse incentives are too great.
- stanleydrew 2y agoWhat risk do you foresee arising out of perverse incentives in this case?
- jvalencia 2y agoChanging license terms, aggressive changes to the API to disallow competition, horrendous user experience that requires a support contract. I really don't think there's a limit to what I've seen other companies do. I generally trust libraries that competitors are maintaining jointly since there is an incentive toward not undercutting anyone.
- valtism 2y agoThis is a nice 2-minute video overview of this from Matt Pocock (of Typescript fame) https://www.aihero.dev/anthropics-new-model-context-protocol-in-2-minutes~hc0tx https://www.aihero.dev/anthropics-new-model-context-protocol...
- xrd 2y agoVery nice video, thank you. His high level summary is that this boils down to a "list tools" RPC call, and a "call tool" RPC call. It is, indeed, very smart and very simple.
- gjmveloso 2y agoLet’s see how other relevant players like Meta, Amazon and Mistral reacts to this. Things like these just make sense with broader adoption and diverse governance model
- zokier 2y agoDoes aider benefit from this? Big part of aiders special sauce is the way it builds context, so it feels closely related but I don't know how the pieces would fit together here
- ramon156 2y agoMy guess is more can be done locally. Then again I only understand ~2 of this and aider.
- threecheese 2y agoWRT prompts vs sampling: why does the Prompts interface exclude model hints that are present in the Sampling interface? Maybe I am misunderstanding. It appears that clients retrieve prompts from a server to hydrate them with context only, to then execute/complete somewhere else (like Claude Desktop, using Anthropic models). The server doesn’t know how effective the prompt will be in the model that the client has access to. It doesn’t even know if the client is a chat app, or Zed code completion. In the sampling interface - where the flow is inverted, and the server presents a completion request to the client - it can suggest that the client uses some model type /parameters. This makes sense given only the server knows how to do this effectively. Given the server doesn’t understand the capabilities of the client, why the asymmetry in these related interfaces? There’s only one server example that uses prompts (fetch), and the one prompt it provides returns the same output as the tool call, except wrapped in a PromptMessage. EDIT: lols like there are some capabilities classes in the mcp, maybe these will evolve.
- jspahrsummers 2y agoOur thinking is that prompts will generally be a user initiated feature of some kind. These docs go into a bit more detail: https://modelcontextprotocol.io/docs/concepts/prompts https://modelcontextprotocol.io/docs/concepts/prompts https://spec.modelcontextprotocol.io/specification/server/prompts/ https://spec.modelcontextprotocol.io/specification/server/pr... … but TLDR, if you think of them a bit like slash commands, I think that's a pretty good intuition for what they are and how you might use them.
- ssfrr 2y agoI'm a little confused as to the fundamental problem statement. It seems like the idea is to create a protocol that can connect arbitrary applications to arbitrary resources, which seems underconstrained as a problem to solve. This level of generality has been attempted before (e.g. RDF and the semantic web, REST, SOAP) and I'm not sure what's fundamentally different about how this problem is framed that makes it more tractable.
- deleted 2y ago[deleted]
- segmondy 2y agoRPC for LLMs with the first client being Claude Desktop. ;-)
- faizshah 2y agoSo it’s basically a standardized plugin format for LLM apps and thats why it doesn’t support auth. It’s basically a standardized way to wrap you Openapi client with a standard tool format then plug it in to your locally running AI tool of choice.
- gyre007 2y agoSomething is telling me this _might_ turn out to be a huge deal; I can't quite put a finger on what is that makes me feel that, but opening private data and tools via an open protocol to AI apps just feels like a game changer.
- orliesaurus 2y agoThis is definitely a huge deal - as long as there's a good developer experience - which IMHO we're not there yet!
- somnium_sn 2y agoAny feedback on developer experience is always welcomed (preferably in github discussion/issue form). It's the first day in the open. We have a long long way to go and much ground to cover.
- MattDaEskimo 2y agoLLMs can potentially query _something_ and receive a concise, high-signal response to facilitate communications with the endpoint, similar to API documentation for us but more programmatic. This is huge, as long as there's a single standard and other LLM providers don't try to release their own protocol. Which, historically speaking, is definitely going to happen.
- gyre007 2y ago> This is huge, as long as there's a single standard and other LLM providers don't try to release their own protocol Yes, very much this; I'm mildly worried because the competition in this space is huge and there is no shortage of money and crazy people who could go against this.
- bloomingkales 2y agoThey will go against this. I don’t want to be that guy, but this moment in time is literally the opening scene of a movie where everyone agrees to work together in the bandit group. But, it’s a bandit group.
- _rupertius 2y agoFor those interested, I've been working on something related to this, Web Applets – which is a spec for creating AI-enabled components that can receive actions & respond with state: https://github.com/unternet-co/web-applets/ https://github.com/unternet-co/web-applets/
- skybrian 2y agoI'm wondering if there will be anything that's actually LLM-specific about these API's. Are they useful for ordinary API integration between websites?
- CGamesPlay 2y agoPossibly marginally, but the "server" components here are ideally tiny bits of glue that just reformat LLM-generated JSON requests into target-native API requests. Nothing interesting "should" be happening in the context protocol. Examining the source may provide you with information on how to get to the real API for the service, however.
- punkpeye 2y agoI took time to read everything on Twitter/Reddit/Documentation about this. I think I have a complete picture. Here is a quickstart for anyone who is just getting into it. https://glama.ai/blog/2024-11-25-model-context-protocol-quickstart https://glama.ai/blog/2024-11-25-model-context-protocol-quic...
- deleted 2y ago[deleted]
- cwillu 2y ago[flagged]
- causal 2y agoCactus? Never heard that expression
- punkpeye 2y agoI don't even know what to respond/what this is asking.
- maronato 2y agoI think they meant that your unprompted declaration of having understood the feature, followed by giving no apparent insight into it is odd and something reminiscent of a bot. Your entire comment could just be “Here’s the quickstart guide: <link>” and literally no useful information would be lost. A human would topically say: “I spent some time understanding the feature and I think I got it. <summarized description of the feature or insight/opinion about its implementation> Here the quickstart: <link>” Or perhaps you wrote the quickstart? That’s not clear from your wording.
- punkpeye 2y agoThis makes me think about the email from Greg and Ilya to Sam https://www.reddit.com/r/OpenAI/comments/1gsnxmy/more_lawsuit_emails_released_in_2017_ilya_and/ https://www.reddit.com/r/OpenAI/comments/1gsnxmy/more_lawsui... I guess I spend my entire day working with LLM prompts, CoT, etc. so maybe I am without realizing starting to adopt some of the same language patterns. The comment reads normal to me, but I bet so did 'We don’t understand your cost function' for Greg and Ilya.
- m3kw9 2y agoSo this allows you to connect your sqllite to Claud desktop, so it executes sql commands on your behalf instead of you entering it, it also chooses the right db on its own, similar to what functions do
- mwkaufma 2y agoSpyware-As-A-Service
- bluerooibos 2y agoAwesome! In the "Protocol Handshake" section of what's happening under the hood - it would be great to have more info on what's actually happening. For example, more details on what's actually happening to translate the natural language to a DB query. How much config do I need to do for this to work? What if the queries it makes are inefficient/wrong and my database gets hammered - can I customise them? How do I ensure sensitive data isn't returned in a query?
- merpnderp 2y agoThis is exactly what I've been trying to figure out. At some point the LLM needs to produce text, even if it is structured outputs, and to do that it needs careful prompting. I'd love to see how that works.
- jihadjihad 2y agoOne thing I am having a hard time wrapping my head around is how to reliably integrate business logic into a system like this. Just hook up my Rails models etc. and have it use those? Let’s say I’ve got a “widgets” table and I want the system to tell me how many “deprecated widgets” there are, but there is no convenient “deprecated” flag on the table—it’s defined as a Rails scope on the model or something (business logic). The DB schema might make it possible to run a simple query to count widgets or whatever, but I just don’t have a good mental model of how these systems might work with “business logic” type things.
- thinkmorebetter 2y agoSounds like you may want an MCP server for your Rails API instead of connecting directly to db.
- Havoc 2y agoIf it gets traction this could be great. Industry sure could do with some standardisation
- deleted 2y ago[deleted]
- ironfootnz 2y agoL0L, this is basically OpenAI spec function calls with a different semantics.
- rahimnathwani 2y agoIn case anyone else is like me and wanted to try the filesystem server before anything else, you may have found the README insufficient. You need to know: 1. The claude_desktop_config.json needs a top-level mcpServer key, as described here: https://github.com/modelcontextprotocol/servers/pull/46/commits/3b7cc01307025e0f890e175c66370ff91c966f80 https://github.com/modelcontextprotocol/servers/pull/46/comm... 2. If you did this correctly the, after you run Claude Desktop, you should see a small 'hammer' icon (with a number next to it) next to the labs icon, in the bottom right of the 'How can Claude help you today?' box.
- memothon 2y agoYeah this was a huge foot gun
- sunleash 2y agoThe protocol felt unnecessarily complicated till I saw this https://modelcontextprotocol.io/docs/concepts/sampling https://modelcontextprotocol.io/docs/concepts/sampling It's crazy. Sadly not yet implemented in Claude Desktop client.
- rty32 2y agoIs this similar to what Sourcegraph's OpenCtx tries to do? Has OpenCtx ever gained much traction?
- sqs 2y agoYeah, we’re using it a lot at Sourcegraph. There are some extra APIs it offers beyond what MCP offers, such as annotations (as you can see on the homepage of https://openctx.org https://openctx.org). We worked with Anthropic on MCP because this kind of layer benefits everyone, and we’ve already shipped interoperability.
- rty32 2y agoInteresting. In Cody training sessions given by Sourcegraph, I saw OpenCtx mentioned a few times "casually", and the focus is always on Cody core concepts and features like prompt engineering and manual context etc. Sounds like for enterprise customers, setting up context is meant for infrastructure teams within the company, and end users mostly should not worry about OpenCxt?
- sqs 2y agoMost users won't and shouldn't need to go through the process of adding context sources. In the enterprise, you want these to be chosen by (and pre-authed/configured by) admins, or at least not by each individual user, because that would introduce a lot of friction and inconsistency. We are still working on making that smooth, which is why we haven't been very loud about OpenCtx to end users yet. But today we already have lots of enterprise customers building their own OpenCtx providers and/or using the `openctx.providers` global settings in Sourcegraph to configure them in the current state. OpenCtx has been quite valuable already here to our customers.
- serialx 2y agoIs there any plans to add Well-known URI[1] as a standard? It would be awesome if we can add services just by inputting domain names of the services. [1]: https://en.wikipedia.org/wiki/Well-known_URI https://en.wikipedia.org/wiki/Well-known_URI
- jspahrsummers 2y agoWe're still in the process of thinking through and fleshing out full details for remote MCP connections. This is definitely a good idea to include in the mix!
- eichi 2y agoI eventually return from every brabra protocol/framework to SQL, txt, standard library, due to inefficiency of introducing meaningless layer. People or me while a go often avoid confronting difficult problems which actually matters. Rather worse, frameworks, buzz technology words are the world of incompetitive people.
- pcwelder 2y agoIt's great! I quickly reorganised my custom gpt repo to build a shell agent using MCP. https://github.com/rusiaaman/wcgw/blob/main/src/wcgw/client/mcp_server/Readme.md https://github.com/rusiaaman/wcgw/blob/main/src/wcgw/client/... Already getting value out of it.
- benreesman 2y agoThe default transport should have accommodated binary data. Whether it’s tensors of image data, audio waveforms, or pre-tokenized NLP workloads it’s just going to hit a wall where JSON-RPC can’t express it uniquely and efficiently.
- refulgentis 2y agoThis is a really, really, good point. Devil's advocating for conversation's sake: at the end of the day, the user and client app want very little persistent data coming from the server - if nothing else than the client is expecting to store chats as text, with external links or Potemkin placeholders for assets like files.
- benreesman 2y agoI agree with the devil's advocacy you've posed, and in retrospect I probably should have said "I bet these folks have a plan for binary data". These are clearly very serious people so it might be more accurate to say that I strongly suspect a subsequent revision of the protocol will bake in default transport-level handling of arbitrary tensors in an efficient way.
- bradgessler 2y agoIf you run a SaaS and want to rapidly build out a CLI that you could plug into this ~and~ want something that humans can use, check out the project I’ve been working on at https://terminalwire.com https://terminalwire.com tl;dr—you can build & ship a CLI without needing an API. Just drop Terminalwire into your server, have your users install the thin client, and you’ve got a CLI. I’m currently focused on getting the distribution and development experience dialed in, which is why I’m working mostly with Rails deployments at the moment, but I’m open to working with large customers who need to ship a CLI yesterday in any language or runtime. If you need something like this check it out at https://terminalwire.com https://terminalwire.com or ping me brad@terminalwire.com.
- yalok 2y agoA picture is worth a 1k words. Is there any good arch diagram for one of the examples of how this protocol may be used? I couldn’t find one easily…
- xyc 2y agoJust tried out the puppeteer server example if anyone is interested in seeing a demo: https://x.com/chxy/status/1861302909402861905 https://x.com/chxy/status/1861302909402861905. (Todo: add tool use - prompt would be like "go to this website and screenshot") I appreciate the design which left the implementation of servers to the community which doesn't lock you into any particular implementation, as the protocol seems to be aiming to primarily solve the RPC layer. One major value add of MCP I think is a capability extension to a vast amount of AI apps.
- xyc 2y agoMade tool use work! check out demo here: https://x.com/chxy/status/1861684254297727299 https://x.com/chxy/status/1861684254297727299
- xyc 2y agosharing the messy code here just for funsies: https://gist.github.com/xyc/274394031b41ac7e8d7d3aa7f4f7bed9 https://gist.github.com/xyc/274394031b41ac7e8d7d3aa7f4f7bed9
- gregjw 2y agoSensible standards and open protocols. Love to see the industry taking form like this.
- thoughtlede 2y agoIf function calling is sync, is MCP its async counterpart? Is that the gist of what MCP is? Open API (aka swagger) based function calling is standard already for sync calls, and it solves the NxM problem. I'm wondering if the proposed value is that MCP is async.
- s2l 2y ago[dead]
- delegate 2y agoI appreciate the effort, but after spending more than one hour on it, I still don't understand how and why I'd use this. The Core architecture [1] documentation is given in terms of TypeScript or Python abstractions, adding a lot of unnecessary syntactic noise for someone who doesn't use these languages. Very thin on actual conceptual explanation and full of irrelevant implementation details. The 'Your first server'[2] tutorial is given in terms of big chunks of python code, with no explanation whatsoever, eg: Add these tool-related handlers: ...100 lines of undocumented code... The code doesn't even compile. I don't think this is ready for prime time yet so I'll move along for now. [1] https://modelcontextprotocol.io/docs/concepts/architecture https://modelcontextprotocol.io/docs/concepts/architecture [2] https://modelcontextprotocol.io/docs/first-server/python https://modelcontextprotocol.io/docs/first-server/python
- nsiradze 2y agoThis is something new, Good job!
- juggli 2y agoComputer Science: There's nothing that can't be solved by adding another layer.
- baq 2y agoit's actually software engineering! computer science can solve everything by drawing more graphs with a pencil.
- Sudheersandu1 2y agoIs it Datacontext that is aware as and when we add columns in the db what it means. How can we make every schema change that happens on db is context aware that is not clear.
- asah 2y agoHow does this work for access controlled data ? I don't see how to pass auth credentials? Required for - corporate data sources, e g. Salesforce - APIs with key limits and non-trivial costs - personal data sources e.g. email It appears that all auth is packed into the MCP config, e.g. slack token: https://github.com/modelcontextprotocol/servers/tree/main/src/slack https://github.com/modelcontextprotocol/servers/tree/main/sr...
- johtso 2y agoCould this be used to voice control an android phone using Tasker functions? Just expose all the functions as actions and then let it rip?
- lmeyerov 2y agoMoving from langchain interop to protocol interop for tools is great Curious: 1. Authentication and authorization is left as a TODO: what is the thinking, as that is necessary for most use? 2. Ultimately, what does MCP already add or will add that makes it more relevant than OpenApI / a pattern on top?
- rch 2y agoStrange place for WS* to respawn.
- helloleoli 2y ago[dead]
- wbakst 2y agoare there any examples of using this with the anthropic API to build something like Claude Desktop? the docs aren't super clear yet wrt. how one might actually implement the connection. do we need to implement another set of tools to provide to the API and then have that tool call the MCP server? maybe i'm missing something here?
- kordlessagain 2y agoL402's (1) macaroon-based authentication would fit naturally with MCP's server architecture. Since MCP servers already define their capabilities and handle tool-specific requests, adding L402 token validation would be straightforward - the server could check macaroon capabilities before executing tool requests. This could enable per-tool pricing and usage limits while maintaining MCP's clean separation between transport and tool implementation. The Aperture proxy could sit in front of MCP servers to handle the Lightning payment flow, making it relatively simple to monetize existing MCP tool servers without significant modifications to their core functionality. (1) https://github.com/lightninglabs/aperture https://github.com/lightninglabs/aperture
- dr_kretyn 2y agoIt took me about 5 jumps before learning what the protocol is, except learning that it's something awesome, and community driven, and open source.
- vkeenan 2y agoI think the most concise way to describe Anthropic MCP is that it's ODBC for AI.
- _han 2y agoThis is very interesting. I was surprised by how minimal the quickstart (https://modelcontextprotocol.io/quickstart https://modelcontextprotocol.io/quickstart) was, but a lot of details are hidden in this python package: https://github.com/modelcontextprotocol/servers/tree/main/src/sqlite/src/mcp_server_sqlite https://github.com/modelcontextprotocol/servers/tree/main/sr...
- deleted 2y ago[deleted]
- somnium_sn 2y ago@jspahrsummers and I have been working on this for the last few months at Anthropic. I am happy to answer any questions people might have.
- deleted 2y ago[deleted]
- startupsfail 2y agoIs it at least somewhat in sync with plans from Microsoft , OpenAI and Meta? And is it compatible with the current tool use API and computer use API that you’ve released? From what I’ve seen, OpenAI attempted to solve the problem by partnering with an existing company that API-fys everything. This feels looks a more viable approach, if compared to effectively starting from scratch.
- kmahorker21 2y agoWhat's the name of the company that OpenAI's partnered with? Just curious.
- startupsfail 2y agoZapier
- singularity2001 2y agoIs there any way to give a MCP server access for good? Trying out the demo it asked me every single time for permission which will be annoying for longer usage.
- jspahrsummers 2y agoWe do want to improve this over time, just trying to find the right balance between usability and security. Although MCP is powerful and we hope it'll really unlock a lot of potential, there are still risks like prompt injection and misconfigured/malicious servers that could cause a lot of damage if left unchecked.
- benocodes 2y agoGood thread showing how this works: https://x.com/alexalbert__/status/1861079762506252723 https://x.com/alexalbert__/status/1861079762506252723
- deleted 2y ago[deleted]
- kseifried 2y agoTwitter doesn't work anymore unless you are logged in. https://unrollnow.com/status/1861079762506252723 https://unrollnow.com/status/1861079762506252723
- deleted 2y ago[deleted]
- deleted 2y ago[deleted]
- outlore 2y agoi am curious: why this instead of feeding your LLM an OpenAPI spec?
- jasonjmcghee 2y agoIt's not about the interface to make a request to a server, it's about how the client and server can interact. For example: When and how should notifications be sent and how should they be handled? --- It's a lot more like LSP.
- quantadev 2y agoNobody [who knows what they're doing] wants their LLM API layer controlling anything about how their clients and servers interact though.
- pizza 2y agoI do
- quantadev 2y ago[flagged]
- jasonjmcghee 2y agoNot sure I understand your point. If it's your client / server, you are controlling how they interact, by implementing the necessaries according to the protocol. If you're writing an LSP for a language, you're implementing the necessaries according to the protocol (when to show errors, inlay hints, code fixes, etc.) - it's not deciding on its own.
- quantadev 2y agoEven if I could make use of it, I wouldn't, because I don't write proprietary code that only works on one AI Service Provider. I use only LangChain so that all of my code can be used with any LLM. My app has a simple drop down box where users can pick whatever LLM they want to to use (OpenAI, Perplexity, Gemini, Anthropic, Grok, etc) However if they've done something worthy of putting into LangChain, then I do hope LangChain steals the idea and incorporates it so that all LLM apps can use it.
- recsv-heredoc 2y agoThank you for creating this.
- ianbutler 2y agoI’m glad they're pushing for standards here, literally everyone has been writing their own integrations and the level of fragmentation (as they also mention) and repetition going into building the infra around agents is super high. We’re building an in terminal coding agent and our next step was to connect to external services like sentry and github where we would also be making a bespoke integration or using a closed source provider. We appreciate that they have mcp integrations already for those services. Thanks Anthropic!
- nichochar 2y agoAs someone building a client which needs to sync with a local filesystem (repo) and database, I cannot emphasize how wonderful it is that there is a push to standardize. We're going to implement this for https://srcbook.com https://srcbook.com
- bbor 2y agoI've been implementing a lot of this exact stuff over the past month, and couldn't agree more. And they even typed the python SDK -- with pydantic!! An exciting day to be an LLM dev, that's for sure. Will be immediately switching all my stuff to this (assuming it's easy to use without their starlette `server` component...)
- ado__dev 2y agoYou can use MCP with Sourcegraph's Cody as well https://sourcegraph.com/blog/cody-supports-anthropic-model-context-protocol https://sourcegraph.com/blog/cody-supports-anthropic-model-c...
- jascha_eng 2y agoHmm I like the idea of providing a unified interface to all LLMs to interact with outside data. But I don't really understand why this is local only. It would be a lot more interesting if I could connect this to my github in the web app and claude automatically has access to my code repositories. I guess I can do this for my local file system now? I also wonder if I build an LLM powered app, and currently simply to RAG and then inject the retrieved data into my prompts, should this replace it? Can I integrate this in a useful way even? The use case of on your machine with your specific data, seems very narrow to me right now, considering how many different context sources and use cases there are.
- bryant 2y ago> It would be a lot more interesting if I could connect this to my github in the web app and claude automatically has access to my code repositories. From the link: > To help developers start exploring, we’re sharing pre-built MCP servers for popular enterprise systems like Google Drive, Slack, GitHub, Git, Postgres, and Puppeteer.
- jascha_eng 2y agoYes but you need to run those servers locally on your own machine. And use the desktop client. That just seems... weird? I guess the reason for this local focus is, that it's otherwise hard to provide access to local files. Which is a decently large use-case. Still it feels a bit complicated to me.
- jspahrsummers 2y agoWe're definitely interested in extending MCP to cover remote connections as well. Both SDKs already support an SSE transport with that in mind: https://modelcontextprotocol.io/docs/concepts/transports#server-sent-events-sse https://modelcontextprotocol.io/docs/concepts/transports#ser... However, it's not quite a complete story yet. Remote connections introduce a lot more questions and complexity—related to deployment, auth, security, etc. We'll be working through these in the coming weeks, and would love any and all input!