MCP Feature Compatibility

Building Model Context Protocol servers and related tooling for agents can be hard. Different clients support different part of the MCP spec to varying degrees. Even if an agent claims support there are often caveats. On top of this there's no universal standard for defining, including, and loading context for agents.

We're tracking support for features across AI agents but things move very quickly, we'll do our best to keep this up to date. Contributions welcome at @jamesmoss/agentcompat.com.

FeatureClaude CodeCursorVSCode (Copilot)Codex
MCP Spec
Core Model Context Protocol specification features
Transport
Specifies how messages are transmitted (stdio, HTTP streaming, custom transports).
Authorization
Provides OAuth-based authentication/authorization for HTTP transports.
Resources
Servers expose read-only contextual data (files, database records, APIs) that clients/models can fetch.
*
Prompts
Servers define reusable prompt templates with parameters that clients/models can list and invoke.
*
Tools
Servers expose structured operations or actions (functions) that clients/models can call.
Logging
Servers can emit structured log messages back to the client for visibility and debugging.
Completion (Autocomplete)
Servers can provide argument autocompletion for prompts, tools, or other features when requested by the client.
Progress Notifications
Servers can send progress updates during long-running operations so clients can display intermediate status.
*
Cancellation
Clients can request cancellation of an in-flight server operation if it's no longer needed.
Error Reporting
Servers return structured errors with codes and messages when operations fail, enabling consistent client handling.
Experimental Features
Servers can expose experimental or non-standard features under a controlled namespace for testing.
Sampling
Servers can request clients to generate completions (LLM outputs) under user control.
Roots
Clients expose filesystem roots or directories so servers know where they can safely operate.
Elicitation
Clients can prompt the user for structured input during workflows triggered by servers.
*
Memory
Methods for loading and parsing broader context and instructions
Context Management
Methods for managing and updating the context of the agent.
Reference other files
Methods for referencing other files within context.
Extensions
Support for enhancing and customizing agents.
Hooks
Lifecycle events for the agent.
*
Slash commands
Re-usable commands that can be manually triggered by the user.
Subagents
Define specialized AI subagents for task-specific workflows.
Custom chat modes
Create specialist AI agents that enable you to tailor the chat experience for specific tasks.
Plugins
A method of bundling together commands, agents and hooks
*
*
Marketplace
Publish and share extensions with the community
*
*
System prompt override
Replace the system prompt for the agent
*
Other
What else can the agent do?