@apideck/mcp-server-crm
v0.0.5
Published
A Model Context Protocol (MCP) server that provides tools for interacting with [Apideck's CRM API](https://developers.apideck.com/apis/crm/reference) - enabling AI agents to push and pull CRM data across multiple integrations like Salesforce, Hubspot, and
Keywords
Readme
Apideck CRM MCP Server
A Model Context Protocol (MCP) server that provides tools for interacting with Apideck's CRM API - enabling AI agents to push and pull CRM data across multiple integrations like Salesforce, Hubspot, and more.
Features
🤖 Full MCP protocol compatibility
🔒 Runtime request/response validation
⚡️ Built-in rate limiting
Prerequisites
Create an Apideck account or login to your existing account (Apideck Platform)
- You can sign up for a free account if you don't already have one
Navigate to the Configuration Settings section in your application (Configuration Settings)
- You'll find your API key and Application ID here
Claude Desktop Configuration
claude_desktop_config.json
- MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"mcp-server-crm": {
"command": "npx",
"args": [
"-y",
"@apideck/mcp-server-crm"
],
"env": {
"APIDECK_APP_ID": "your_apideck_app_id",
"APIDECK_API_KEY": "your_apideck_api_key"
}
}
}
}Usage in Your App via NPX
pseudo code
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
import { type Tool } from "@modelcontextprotocol/sdk/types.js";
// Initialize the transport layer
const transport = new StdioClientTransport({
command: "npx",
args: ["-y", "@apideck/mcp-server-crm"],
env: {
"APIDECK_APP_ID": "your_apideck_app_id",
"APIDECK_API_KEY": "your_apideck_api_key"
}
});
// Create an MCP client
const client = new Client(
{
name: "example-client",
version: "1.0.0"
},
{
capabilities: {
tools: {}
}
}
);
// Connect to the MCP server
await client.connect(transport);
// Get available tools and expose them to your LLM
// The LLM can then invoke these tools with appropriate arguments
const tools: Tool[] = await client.listTools();
// Example: Manually invoke a tool to fetch contacts
const contacts = await client.callTool({
name: "contacts_all",
arguments: {
limit: 10,
sort: {
by: "updated_at",
direction: "desc"
}
}
});
Error Handling
All operations return standardized error responses including:
- Validation errors
- Authentication errors
- Rate limiting errors
- API-specific errors
Available Tools
The following operations are available through this MCP server:
Activities
activities_all- Retrieve all CRM activities for a specified consumer.activities_add- Add a new activity to the CRM system.activities_one- Retrieve a specific CRM activity by its ID.activities_update- Update an existing activity record in the CRM system.activities_delete- Deletes a specific activity record from the CRM system.
Companies
companies_all- Retrieve a list of companies from the CRM system.companies_add- Add a new company to the CRM system.companies_one- Retrieve detailed information about a specific company from the CRM.companies_update- Update company details in the CRM system.companies_delete- Deletes a company record from the CRM system.
Contacts
contacts_all- Retrieve all contacts from the CRM system.contacts_add- Add a new contact to the CRM system.contacts_one- Retrieve a specific contact's details from the CRM.contacts_update- Update an existing contact in the CRM system.contacts_delete- Deletes a contact from the CRM system using the specified contact ID.
Leads
leads_all- Retrieve a list of CRM leads.leads_add- Add a new lead to the CRM system.leads_one- Retrieve detailed information about a specific lead in the CRM.leads_update- Update lead details in the CRM system.leads_delete- Deletes a lead from the CRM system using its unique ID.
Notes
notes_all- Retrieve all CRM notes for a specified consumer.notes_add- Adds a new note to the CRM system.notes_one- Retrieve a specific note from the CRM by its ID.notes_update- Update an existing note in the CRM system.notes_delete- Deletes a specific note from the CRM system.
Opportunities
opportunities_all- Retrieve all CRM opportunities.opportunities_add- Adds a new opportunity to the CRM system.opportunities_one- Retrieve detailed information about a specific CRM opportunity by its ID.opportunities_update- Update an existing opportunity in the CRM system.opportunities_delete- Deletes a specific opportunity from the CRM system.
Pipelines
pipelines_all- Retrieve all CRM pipelines for a specified consumer.
Users
users_all- Retrieve a list of users from the CRM system.users_add- Adds a new user to the CRM system.users_one- Retrieve detailed information about a specific user in the CRM.users_update- Update user details in the CRM system using a PATCH request.users_delete- Deletes a user from the CRM system using their unique ID.
License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License.
