UNPKG

espocrm-graphql-server

Version:

A modern GraphQL server for EspoCRM with TypeScript, MCP integration, and AI-optimized dynamic schema generation

167 lines 4.4 kB
{ "name": "espocrm-graphql-mcp", "version": "1.0.0", "description": "MCP server for EspoCRM GraphQL API - provides CRM data access to AI assistants", "transport": { "type": "stdio" }, "tools": [ { "name": "query_contacts", "description": "Search and retrieve contact information from EspoCRM", "inputSchema": { "type": "object", "properties": { "filter": { "type": "object", "properties": { "firstName": { "type": "string" }, "lastName": { "type": "string" }, "email": { "type": "string" } } }, "limit": { "type": "number", "default": 10 } } } }, { "name": "query_accounts", "description": "Search and retrieve account/company information", "inputSchema": { "type": "object", "properties": { "filter": { "type": "object", "properties": { "name": { "type": "string" }, "type": { "type": "string" } } }, "limit": { "type": "number", "default": 10 } } } }, { "name": "query_leads", "description": "Search and retrieve sales leads", "inputSchema": { "type": "object", "properties": { "filter": { "type": "object", "properties": { "status": { "type": "string" }, "source": { "type": "string" } } }, "limit": { "type": "number", "default": 10 } } } }, { "name": "create_contact", "description": "Create a new contact in the CRM", "inputSchema": { "type": "object", "required": ["firstName", "lastName"], "properties": { "firstName": { "type": "string" }, "lastName": { "type": "string" }, "email": { "type": "string" }, "phone": { "type": "string" }, "accountId": { "type": "string" } } } }, { "name": "update_entity", "description": "Update any entity in the CRM", "inputSchema": { "type": "object", "required": ["entityType", "id", "data"], "properties": { "entityType": { "type": "string", "enum": ["Contact", "Account", "Lead", "Opportunity", "Case"] }, "id": { "type": "string" }, "data": { "type": "object" } } } }, { "name": "execute_graphql", "description": "Execute a custom GraphQL query against the EspoCRM data", "inputSchema": { "type": "object", "required": ["query"], "properties": { "query": { "type": "string" }, "variables": { "type": "object" } } } } ], "resources": [ { "uri": "espocrm://schema", "name": "GraphQL Schema", "description": "The current GraphQL schema with all available entities and fields", "mimeType": "application/json" }, { "uri": "espocrm://entities", "name": "Available Entities", "description": "List of all discovered EspoCRM entities", "mimeType": "application/json" }, { "uri": "espocrm://health", "name": "System Health", "description": "Current health status of the GraphQL server", "mimeType": "application/json" } ], "prompts": [ { "name": "crm_search", "description": "Search across all CRM entities for relevant information", "arguments": [ { "name": "search_term", "description": "What to search for", "required": true } ] }, { "name": "sales_pipeline", "description": "Analyze the current sales pipeline and opportunities", "arguments": [ { "name": "stage", "description": "Specific stage to analyze (optional)" } ] }, { "name": "contact_insights", "description": "Get insights about a specific contact or group of contacts", "arguments": [ { "name": "contact_filter", "description": "Filter criteria for contacts" } ] } ] }