What is MCP
The Model Context Protocol is an open standard that enables AI assistants to interact with external data sources and tools through a common interface.Standardized interface
Tools expose capabilities through a consistent protocol, so Claude doesn’t need custom integration for each service.
Bidirectional communication
Claude can read data from tools (query CRM), write data to tools (update records), or both.
Tool discovery
MCP servers advertise their capabilities, so Claude knows what’s available and how to use it.
Secure authentication
User credentials are managed outside the plugin, with scoped permissions per tool.
MCP architecture
Here’s how MCP connects your plugin to external tools:MCP server types
MCP servers expose three types of capabilities:1. Tools
Tools are functions Claude can invoke to perform actions:2. Resources
Resources are data sources Claude can read:3. Prompts
Prompts are templates the server provides:How plugins use MCP
1. Server configuration
Plugins declare which MCP servers to connect to:.mcp.json
2. Capability discovery
When your plugin loads, Claude:3. Tool invocation
When a skill needs to use a tool:call-prep/SKILL.md
4. Response handling
The MCP server returns structured data:Execution flow example
Here’s how MCP works in practice for the call-prep skill:Authentication and security
MCP handles authentication outside your plugin:First-time connection
Subsequent uses
- Claude uses stored tokens automatically
- Tokens are refreshed transparently
- Users can revoke access at any time
Permission scopes
Each MCP server requests specific permissions:HubSpot MCP server
HubSpot MCP server
Requested scopes:
crm.objects.contacts.readcrm.objects.deals.readcrm.objects.deals.writecrm.objects.companies.read
- Read account and contact data
- Read and update deal information
- Cannot delete records
- Cannot access settings or admin functions
Slack MCP server
Slack MCP server
Requested scopes:
search:readchannels:readchat:write
- Search messages in channels user has access to
- Read channel list
- Post messages
- Cannot read private messages without explicit access
Building custom MCP servers
You can create MCP servers for internal tools or services that don’t have one:Implement MCP protocol
Build an HTTP server that implements the MCP specification
Example: Custom internal API
.mcp.json
MCP vs direct API calls
Why use MCP instead of calling APIs directly?Standardization
MCP: One protocol for all toolsDirect APIs: Custom integration for each service
Authentication
MCP: Centralized auth handled by ClaudeDirect APIs: Manage credentials in plugin code
Discovery
MCP: Claude learns what tools are availableDirect APIs: Hard-code available endpoints
Maintenance
MCP: API changes handled by MCP serverDirect APIs: Update plugin code for every API change
Error handling
MCP provides structured error responses:Testing without connectors
Plugins should work without MCP connections:- Development
- Production
Test your plugin with connectors disabled to ensure standalone mode works:Skills should gracefully fall back to manual input and web research.
.mcp.json
Best practices
Design for graceful degradation
Design for graceful degradation
Every skill should have a fallback mode when connectors aren’t available. Never make MCP a hard requirement.
Request minimal permissions
Request minimal permissions
Only request the OAuth scopes your plugin actually needs. Users are more likely to connect tools with limited permissions.
Handle errors gracefully
Handle errors gracefully
If an MCP call fails, fall back to alternative approaches or ask the user for manual input.
Document connector benefits
Document connector benefits
Use connector tables in skills to show users what they gain by connecting each tool.
Test both modes
Test both modes
Validate your plugin works well both with and without each connector enabled.
Learn more
MCP Specification
Official Model Context Protocol specification
MCP Servers
Directory of available MCP servers
Build an MCP Server
Create a custom MCP server for your tools
Connectors
Back to connector overview