Agent-to-agent and agent-client standards beyond MCP: A2A, ACP.
2talks
20answers
0mainly about it
2new
DecJanFebMarAprMayJunJulAugSepOctNov
What your library answers 20
Why are static API keys a security risk for AI agents?
Using long-lived, broadly scoped API keys in configuration files creates massive security vulnerabilities as agent deployments scale. If thousands of agents run with broad access keys, a single compromise exposes all connected systems. We must transition away from these static secrets to dynamic access models.
The creators developed MCP internally at Anthropic out of frustration with siloed development tools like cloud desktop and IDEs. They borrowed architectural patterns and bi-directional communication from the Language Server Protocol to solve the M times N integration problem.
The authorization code flow mediates requests between a client application and a resource server via an authorization server. The authorization server authenticates the user, obtains consent, and issues an access token to the client. This token is then used to access protected resources while supporting short-lived, rotated refresh tokens.
Why does MCP use different primitives like tools, resources, and prompts instead of just tool calling?
The creators designed separate primitives to give application developers specific UI affordances and control over how features manifest. While tool calling is model-driven, resources and prompts allow for user-initiated data pulling and application-controlled workflows that better fit different user experiences.
How did the first version of the Model Context Protocol handle security?
The initial version of MCP featured no authorization mechanisms at all, prioritizing rapid prototyping primarily for local servers. While it sparked ecosystem interest, it left remote and connected servers entirely unprotected. This required developers to look toward formal authorization protocol drafts.
How should I structure tool results when building an MCP server?
Tool results should not be over-specified into rigid structured JSON schemas to ensure they scale as LLMs improve. Instead, servers should return raw text, images, or messages directly passed through from the underlying API. This lets the LLM sort through the data and extract what it needs, leveraging its natural strengths.
What was wrong with the early MCP authorization specification draft?
The late March draft erroneously forced MCP servers to implement all of OAuth 2, including token issuance and authentication. This collapsed the authorization server role directly into the resource server, violating core OAuth principles and causing widespread industry criticism.
Why is Model Context Protocol preferred over OpenAPI specifications for AI apps?
OpenAPI specifications are too granular and fail to express higher-level, AI-specific concepts needed for rich LLM interactions. MCP provides purpose-built primitives like tools, resources, and prompts that models benefit from more than a raw REST API. Additionally, MCP supports stateful interactions which are increasingly important for modern multimodal AI apps.
How should MCP servers be modeled in an OAuth architecture?
MCP servers should act strictly as OAuth resource servers rather than handling their own token issuance. The authorization server must remain a completely separate entity that handles authentication and issues tokens. This simplifies the MCP server's job to simply verifying incoming HTTP tokens.
How can I quickly start building my own MCP server?
You should pick your preferred language and its SDK, then build a simple tool for something that matters to you personally. Avoid overthinking the descriptions initially and use standard IO protocol transport to test it in an application. You can even feed the SDK code and MCP spec to an LLM to generate the server for you in about half an hour.
When should agents use the OAuth client credentials flow?
While the authorization code flow handles end-user delegation, the client credentials flow applies when agents communicate autonomously. Agents use this flow to interact with other agents or MCP servers on their own behalf rather than acting for a logged-in user.
Yes, MCP servers can simultaneously act as MCP clients to create recursive compositions and rich workflows. This allows developers to chain servers together into directed acyclic graphs where an MCP server can utilize the broader ecosystem of other servers. Such patterns enable modular architectures, though the SDKs still need minor niceties to make execution simpler.
Why is dynamic client registration problematic for agent identities?
Dynamic client registration allows agents to request credentials at runtime without prior manual registration. However, because the registration request itself is uncredentialed, it leaves all agents effectively anonymous. This makes building trust and tracking identity across agent ecosystems extremely difficult.
How do you handle authentication for remote MCP servers?
The protocol uses OAuth 2.1 for user-to-server authorization, which avoids requiring users to manually paste API keys. This approach fits well into remote server architectures while keeping the specification minimal and extensible.
How can we use URLs and PKI for secure agent identity?
Instead of dynamic registration, we can use standard URLs as client identities in OAuth flows. By leveraging public key infrastructure (PKI) and key sets, agents can sign assertions or HTTP messages. Receiving servers then use corresponding public keys to cryptographically authenticate the agent.
Why did the team move away from pure SSE towards a streamable HTTP transport?
While the team believes future AI applications will be stateful, requiring a long-lived persistent SSE connection creates significant operational complexity at scale. The new streamable HTTP transport combines standard HTTP requests with optional streaming and session resumption to balance statefulness and operational scalability.
What is transactional authorization and why do agent workflows require it?
Traditional OAuth scopes are often too coarse-grained and long-lived for advanced AI agent operations. Transactional authorization allows agents to obtain permissions on a per-transaction basis, such as approving specific financial budgets or transaction amounts. Specifications like rich authorization requests provide a model for this dynamic requirement.
How does the project handle open source governance and community contributions?
Governance is strictly merit-driven, meaning contributors must submit practical work and SDK contributions rather than just opinions to gain commit access. The maintainers prioritize moving fast and avoiding slow standardization bodies over traditional foundation-heavy governance models.
How do we secure downstream interactions and chain of custody for MCP servers?
When an MCP server calls another internal API or third-party service, basic OAuth connections are no longer sufficient. Developers should implement techniques like OAuth token exchange and identity assertion grants for cross-domain identity chaining. This preserves security visibility across complex multi-agent communication graphs.
What is the security strategy regarding third-party MCP registries?
The creators view centralized registries as brittle because social proof and download counts do not prevent supply chain compromises in updated packages. Instead of building a heavily vetted app store, they encourage developers to use the MCP inspector tool to examine traffic and verify security.