MCP Servers
MCP Servers (Model Context Protocol) allow you to extend your agent's capabilities by connecting it to external services that provide additional tools. With MCP, you integrate APIs, databases, third-party systems, and more through a standardized protocol.

What is MCP?
The Model Context Protocol (MCP) is an open protocol that standardizes communication between language models (LLMs) and external services. Think of it as a universal "plug" for AI integrations.
| Capability | Description |
|---|---|
| Access external tools | Execute actions in third-party systems |
| Query real-time data | Get updated information from APIs and databases |
| Integrate enterprise services | Connect to CRMs, ERPs, calendars |
| Expand functionality | Add custom capabilities without modifying the agent |
MCP vs. API Integration
- MCP Servers: Standardized protocol, richer capabilities, requires an MCP server
- API Integration: Simpler setup, single REST calls, no server needed
Use MCP when you need complex tool ecosystems. Use API Integration for simple REST endpoints.
How MCP Works
┌─────────────┐ ┌─────────────┐ ┌─────────────────┐
│ SipPulse │────▶│ SipPulse │────▶│ MCP Server │
│ Agent │ │ AI │ │ (External) │
└─────────────┘ └─────────────┘ └─────────────────┘
│ │
▼ ▼
┌─────────────┐ ┌───────────┐
│ Tool │ │ External │
│ Results │◀──────│ System │
└─────────────┘ └───────────┘Flow:
- Agent receives a user request
- LLM decides to use a tool from the MCP server
- SipPulse AI connects to the MCP server
- Server executes the tool and returns results
- Agent uses results to respond to the user
Configuring an MCP Server
Accessing Configuration
- Navigate to Agents in the side menu
- Select or create an agent
- Go to the Tools section
- Click MCP Servers
Adding a Server
- Click Add MCP Server
- Fill in the required fields:
| Field | Description | Example |
|---|---|---|
| Name | Identifier for the server | "Google Calendar" |
| URL | MCP server endpoint | https://mcp.example.com/api |
| Transport | Communication protocol | HTTP, SSE, WebSocket |
| Headers | Authentication headers | Authorization: Bearer ... |
- Click Create to add the server
Transport Types
| Transport | Description | Best For |
|---|---|---|
| HTTP | Traditional request/response | Quick, synchronous tools |
| SSE | Server-Sent Events | Streaming responses, long operations |
| WebSocket | Persistent bidirectional | Real-time communication |
Automatic Detection
Transport is auto-detected from URL patterns:
/ssein URL → SSEws://orwss://→ WebSocket- Otherwise → HTTP
Authentication
For servers requiring authentication, add headers:
- In Headers section, click Add Header
- Enter header name and value
Common patterns:
| Header | Value | Use Case |
|---|---|---|
Authorization | Bearer {token} | OAuth/JWT APIs |
X-API-Key | {your_key} | API key authentication |
X-Custom-Header | {value} | Custom requirements |
Managing Tools
Syncing Tools
When the MCP server updates its available tools:
- Locate the server in the list
- Click the sync icon (↻)
- New tools are loaded automatically
Enabling/Disabling Tools
Control which tools the agent can access:
- Expand the server (click the chevron)
- Toggle individual tools on/off
- Disabled tools won't be available to the agent
Performance Optimization
Disable unused tools. Fewer tools means:
- Faster decision-making by the LLM
- Lower token usage
- More focused agent behavior
Disabling a Server
To temporarily disable all tools without removing the server:
- Toggle the switch next to the server name
- All server tools become unavailable
Example: Google Calendar Integration
Step 1: Configure Server
| Field | Value |
|---|---|
| Name | Google Calendar |
| URL | https://mcp-calendar.example.com/api |
| Transport | HTTP |
Step 2: Add Authentication
| Header | Value |
|---|---|
| Authorization | Bearer {oauth_token} |
Step 3: Available Tools
After sync, typical calendar tools include:
| Tool | Purpose |
|---|---|
get_calendar_events | List upcoming events |
create_event | Schedule new event |
update_event | Modify existing event |
delete_event | Remove event |
check_availability | Find free time slots |
Step 4: Agent in Action
User: "Schedule a meeting for tomorrow at 2 PM called 'Project Review'"
Agent:
- Recognizes scheduling intent
- Calls
create_eventtool with parameters - Receives confirmation from MCP server
- Responds: "Done! I've scheduled 'Project Review' for tomorrow at 2 PM."
Example: CRM Integration
Configuration
| Field | Value |
|---|---|
| Name | Salesforce CRM |
| URL | https://mcp-salesforce.example.com/api |
| Transport | HTTP |
| Authorization | Bearer {sf_access_token} |
Available Tools
| Tool | Purpose |
|---|---|
search_contacts | Find contacts by name/email |
get_contact_details | Full contact information |
create_lead | Add new lead |
update_opportunity | Modify deal status |
log_activity | Record interaction |
Conversation Example
User: "Can you find John Smith's contact info?"
Agent: [Uses search_contacts: "John Smith"] "I found John Smith in your CRM. He's the VP of Engineering at Acme Corp. His email is john@acme.com and his phone is (555) 123-4567. Would you like me to log this call as an activity?"
Best Practices
Security
| Practice | Why |
|---|---|
| Never expose credentials in instructions | Prevents data leaks in prompts |
| Use HTTPS for all connections | Encrypts data in transit |
| Rotate tokens regularly | Limits damage from compromised credentials |
| Limit permissions to necessary tools | Principle of least privilege |
Performance
- Keep few servers per agent - Each server adds latency
- Disable unused tools - Reduces LLM decision complexity
- Monitor server latency - Slow servers degrade experience
- Configure appropriate timeouts - Prevent hanging requests
Maintenance
- Document configurations - Helps troubleshooting
- Test after server updates - Catch breaking changes
- Monitor execution logs - Identify failures early
- Version your MCP servers - Enable rollbacks
Troubleshooting
Server Won't Connect
- Verify URL is correct and accessible
- Confirm authentication headers are valid
- Test endpoint directly with curl:bash
curl -X POST https://your-mcp-server.com/api \ -H "Authorization: Bearer your_token" \ -H "Content-Type: application/json" - Check firewall rules if self-hosted
Tools Not Appearing
- Click sync to reload tools
- Verify MCP server returns tool list correctly
- Confirm response follows MCP specification
- Check server logs for errors
Execution Errors
- Check thread execution logs
- Verify tool parameters are correct
- Test tool directly on MCP server
- Review server-side error logs
Slow Response Times
- Profile MCP server performance
- Check network latency to server
- Consider caching for repeated queries
- Use SSE transport for long operations
Creating Your Own MCP Server
If you want to create a custom MCP server for your tools:
Requirements
- Implement the MCP specification
- Expose
/toolsendpoint listing available tools - Handle tool execution requests
- Return structured responses
Resources
- MCP Specification - Official protocol documentation
- MCP SDKs - Official SDKs for various languages
Alternative: Manual Tools
For simpler integrations where you control the backend, consider Manual Tools. They're easier to implement and don't require a full MCP server.
Related Documentation
- Tools Overview - Understanding agent tools
- API Integration - Simpler REST integrations
- Manual Tools - Custom backend logic
- Testing Agents - Validate tools in playground
