cmap-mcp-server

zabarich/cmap-mcp-server

3.2

If you are the rightful owner of cmap-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The CMAP MCP Server provides natural language access to CMap Professional Services CRM API data through Claude Desktop.

Tools
  1. get_companies

    Retrieve company directory

  2. get_projects

    List projects with filters

  3. get_project

    Detailed project information

  4. get_users

    Team member directory

  5. get_contacts

    Contact directory

  6. health_check

    Verify API connectivity

CMAP MCP Server

A Model Context Protocol (MCP) server that provides natural language access to CMap Professional Services CRM API data through Claude Desktop.

This is a real working MCP server used in production to connect Claude to CMAP CRM.

npm version License: MIT

Quick Start

  1. Get CMAP API credentials from your CMAP administrator
  2. Install: npm install -g cmap-mcp-server or use with npx
  3. Configure environment variables with your credentials
  4. Add to Claude Desktop MCP configuration
  5. Query your CMAP data in natural language

What You Can Query

Business Data Access

  • Companies: Client companies and prospects in your CRM
  • Projects: Client projects with financial tracking and resourcing
  • Users: Team members, consultants, and their assignments
  • Contacts: Client contacts and stakeholders
  • Financial Data: Project profitability, budgets, and billing
  • Budget v2: Detailed project budgets with tabs, stages, and task-level cost breakdowns

Example Natural Language Queries

"Show me all active projects over £50,000"
"Which consultants are available next week?"
"Find all contacts at our top clients"
"What's the total value of projects managed by [Project Manager Name]?"
"Show project profitability by client"
"Using cmap, find all active projects with overdue invoices"
"Show me the budget breakdown for project ID 12345"
"What are the budget stages for this project?"
"List all budget tasks and their estimated costs"

Getting CMAP API Credentials

Sandbox Environment (Recommended for Testing)

  1. Contact your CMAP administrator
  2. Request sandbox API credentials for testing
  3. You'll receive:
    • Client ID
    • Client Secret
    • Tenant ID
    • Sandbox API URL

Production Environment

  1. Complete sandbox testing first
  2. Request production credentials from CMAP administrator
  3. Use production API URL in configuration

Installation Options

Option 1: NPX (Recommended)

npx cmap-mcp-server

Option 2: Global Installation

npm install -g cmap-mcp-server
cmap-mcp-server

Option 3: Fork and Publish Your Own

# Fork this repository
git clone https://github.com/your-org/cmap-mcp-server.git
cd cmap-mcp-server

# Update package.json with your organization details
# Change name to "@your-org/cmap-mcp-server"

# Install and build
npm install
npm run build

# Publish to your NPM account
npm publish

Option 4: Run from Source

# Clone the repository
git clone https://github.com/zabarich/cmap-mcp-server.git
cd cmap-mcp-server

# Install dependencies
npm install

# Build the project
npm run build

# Run the MCP server
npx mcp-server .

Configuration

Environment Variables

Create a .env file or set environment variables:

# Required CMAP API credentials (get from your admin)
CMAP_CLIENT_ID=your-cmap-client-id
CMAP_CLIENT_SECRET=your-cmap-client-secret
CMAP_TENANT_ID=your-cmap-tenant-id

# Environment selection
CMAP_BASE_URL=https://api.cmap-sandbox.com  # Sandbox (recommended for testing)
# CMAP_BASE_URL=https://api.cmaphq.com      # Production (use after sandbox testing)

Claude Desktop Integration

Add to your Claude Desktop MCP configuration file:

For NPX usage:

{
  "mcpServers": {
    "cmap": {
      "command": "npx",
      "args": ["-y", "cmap-mcp-server"],
      "env": {
        "CMAP_CLIENT_ID": "your-client-id",
        "CMAP_CLIENT_SECRET": "your-client-secret", 
        "CMAP_TENANT_ID": "your-tenant-id",
        "CMAP_BASE_URL": "https://api.cmap-sandbox.com"
      }
    }
  }
}

For your own published version:

{
  "mcpServers": {
    "cmap": {
      "command": "npx",
      "args": ["-y", "@your-org/cmap-mcp-server"],
      "env": {
        "CMAP_CLIENT_ID": "your-client-id",
        "CMAP_CLIENT_SECRET": "your-client-secret", 
        "CMAP_TENANT_ID": "your-tenant-id",
        "CMAP_BASE_URL": "https://api.cmap-sandbox.com"
      }
    }
  }
}

Testing in Sandbox

Sandbox Testing Workflow

  1. Request sandbox credentials from your CMAP administrator
  2. Configure with sandbox URL: https://api.cmap-sandbox.com
  3. Test basic connectivity: Ask Claude "Can you check CMAP connectivity?"
  4. Verify data access: Try "List all companies" or "Show me projects"
  5. Test complex queries: Try relationship-based queries
  6. Validate business logic: Ensure responses match your expectations

Safe Sandbox Queries

"Test the CMAP connection"
"How many companies are in the system?"
"Show me the project status distribution"
"List the types of users in the system"

Available Tools

ToolDescriptionUse Cases
get_companiesRetrieve company directory"Show all clients", "Find consulting firms"
get_projectsList projects with filters"Active projects", "Projects over £X"
get_projectDetailed project information"Project details for ID X"
get_usersTeam member directory"List all consultants", "Find available resources"
get_contactsContact directory"Contacts at company X"
get_budget_tabsGet project budget tabs (v2)"Show budget categories for project"
get_budget_stagesGet project budget stages (v2)"List project phases and costs"
get_budget_tasksGet project budget tasks (v2)"Show detailed task-level budgets"
health_checkVerify API connectivity"Test CMAP connection"

Business Intelligence Examples

Financial Analysis

"What's the total value of all active projects?"
"Show me project profitability by client"
"Which projects are over budget?"
"Break down the budget by stages for project X"
"Show me all budget tasks with cost estimates"

Resource Management

"Who's available for new projects next month?"
"Show consultant utilization rates"
"Find team members with specific skills"

Client Relationship Management

"Show me our top clients by revenue"
"Find all prospects in the pipeline"
"Which clients have the most active projects?"

Security Best Practices

  • Never commit credentials: Use environment variables only
  • Start with sandbox: Always test in sandbox before production
  • Rotate credentials: Regularly update your API credentials
  • Monitor usage: Track API calls and unusual activity
  • Limit access: Only provide credentials to authorized team members

Troubleshooting

Common Issues

"Authentication failed"

  • Verify your credentials are correct
  • Check if credentials are for the right environment (sandbox/prod)
  • Ensure tenant_id matches your CMAP instance

"403 Forbidden"

  • Verify tenant_id is included in requests
  • Check if your credentials have proper permissions
  • Contact CMAP administrator for access verification

"No data returned"

  • Verify you're querying the correct environment
  • Check if your CMAP instance has the expected data
  • Try simpler queries first

Getting Help

  1. Check this documentation
  2. Review CMAP API documentation
  3. Open an issue on GitHub
  4. Contact your CMAP administrator for credential issues

Contributing

See for detailed contribution guidelines.

License

MIT License - see for details.

Author

Richard Wild - GitHub

Acknowledgments