Readit News logoReadit News
jspahrsummers commented on Model Context Protocol   anthropic.com/news/model-... · Posted by u/benocodes
zestyping · a year ago
I think this where the real question is for me. When I read about MCP, the topmost question in my mind is "Why isn't this just tool calling?" I had difficulty finding an answer to this. Below, you have someone else asking "Why not just use GraphQL?" And so on.

It would probably be helpful for many of your readers if you had a focused document that addressed specifically that motivating question, together with illustrated examples. What does MCP provide, and what does it intend to solve, that a tool calling interface or RPC protocol can't?

jspahrsummers · a year ago
You can find more information on some design questions like these in https://spec.modelcontextprotocol.io/specification, which is a much more "implementors" focused guide than the user documentation at https://modelcontextprotocol.io
jspahrsummers commented on Model Context Protocol   anthropic.com/news/model-... · Posted by u/benocodes
serialx · a year ago
Is 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

jspahrsummers · a year ago
We'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!
jspahrsummers commented on Model Context Protocol   anthropic.com/news/model-... · Posted by u/benocodes
geelen · a year ago
Same issue here. Is it geolocked maybe?
jspahrsummers · a year ago
Definitely not geolocked! Please try the debugging guide here: https://modelcontextprotocol.io/docs/tools/debugging
jspahrsummers commented on Model Context Protocol   anthropic.com/news/model-... · Posted by u/benocodes
Aivean · a year ago
I'm on the latest Claude desktop for mac (0.7.1, pro plan). Can't see the mcp icon neither in the app nor in the web. How to troubleshoot?
jspahrsummers · a year ago
There's a debugging guide here that may be helpful: https://modelcontextprotocol.io/docs/tools/debugging
jspahrsummers commented on Model Context Protocol   anthropic.com/news/model-... · Posted by u/benocodes
informal007 · a year ago
The result that MCP server returned will be transfer to MCP host(Claude, IDEs, Tools), there are some privacy issues because the process is automatic after one-time permission provided.

For instance, when there is something wrong for MCP host, it query all data from database and transfer it to host, all data will be leaked.

It's hard to totally prevent this kind of problem when interacting with local data, But, Is there some actions to prevent this kind of situations for MCP?

jspahrsummers · a year ago
Your concerns are very valid. This is partly why right now, in Claude Desktop, it's not possible to grant permission permanently. The most you can do is "Allow for this chat," which applies to one tool from one server at a time.
jspahrsummers commented on Model Context Protocol   anthropic.com/news/model-... · Posted by u/benocodes
TeMPOraL · a year ago
Or, in short: it's (an attempt to create) a standard protocol to plug tools to LLM app via the good ol' tools/function calling mechanism.

It's not introducing new capabilities, just solving the NxM problem, hopefully leading to more tools being written.

(At least that's how I understand this. Am I far off?)

jspahrsummers · a year ago
We definitely hope this will solve the NxM problem.

On tools specifically, we went back and forth about whether the other primitives of MCP ultimately just reduce to tool use, but ultimately concluded that separate concepts of "prompts" and "resources" are extremely useful to express different _intentions_ for server functionality. They all have a part to play!

jspahrsummers commented on Model Context Protocol   anthropic.com/news/model-... · Posted by u/benocodes
threecheese · a year ago
WRT 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 · a year ago
Our 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://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.

jspahrsummers commented on Model Context Protocol   anthropic.com/news/model-... · Posted by u/benocodes
rictic · a year ago
I just want to say kudos for the design of the protocol. Seems inspired by https://langserver.org/ in all the right ways. Reading through it is a delight, there's so many tasteful little decisions.

One bit of constructive feedback: the TypeScript API isn't using the TypeScript type system to its fullest. For example, for tool providers, you could infer the type of a tool request handler's params from the json schema of the corresponding tool's input schema.

I guess that would be assuming that the model is doing constrained sampling correctly, such that it would never generate JSON that does not match the schema, which you might not want to bake into the reference server impl. It'd mean changes to the API too, since you'd need to connect the tool declaration and the request handler for that tool in order to connect their types.

jspahrsummers · a year ago
This is a great idea! There's also the matter of requests' result types not being automatically inferred in the SDK right now, which would be great to fix.

Could I convince you to submit a PR? We'd love to include community contributions!

jspahrsummers commented on Model Context Protocol   anthropic.com/news/model-... · Posted by u/benocodes
singularity2001 · a year ago
Is 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 · a year ago
We 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.
jspahrsummers commented on Model Context Protocol   anthropic.com/news/model-... · Posted by u/benocodes
jascha_eng · a year ago
Hmm 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.

jspahrsummers · a year ago
We'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#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!

u/jspahrsummers

KarmaCake day38May 31, 2013
About
Member of Technical Staff at Anthropic, PBC. Opinions are mine alone, and don't reflect those of my employer.

https://github.com/jspahrsummers

View Original