@apideck/mcp-server-crm

0.0.5 • Public • Published

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.

Readme

Keywords

none

Package Sidebar

Install

npm i @apideck/mcp-server-crm

Weekly Downloads

3

Version

0.0.5

License

MIT

Unpacked Size

1.83 MB

Total Files

9

Last publish

Collaborators

  • gdewilde
  • nicklloyd
  • ritiksingh7
  • samzani
  • lagoni