infoset-mcp

infoset-mcp

MCP server for Infoset CRM that enables AI assistants to manage tickets, contacts, companies, SLA, and email threads with built-in rate limit handling and batch operations.

Category
Visit Server

README

<div align="center">

<img src="https://img.shields.io/badge/MCP-Infoset%20CRM-0066FF?style=for-the-badge&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJ3aGl0ZSI+PHBhdGggZD0iTTIwIDJINGMtMS4xIDAtMi45LTIgLjktMkgxMHYyaDRWMmg2YzEuMSAwIDIgLjkgMiAydjE4YzAgMS4xLS45IDItMiAySDRjLTEuMSAwLTItLjktMi0yVjRjMC0xLjEuOS0yIDItMmgxNnptMCAySDR2MTZoMTZWNHpNNiA4aDEydjJINnptMCA0aDEydjJINnptMCA0aDh2Mkg2eiIvPjwvc3ZnPg==&logoColor=white" alt="Infoset MCP" />

infoset-mcp

Model Context Protocol server for Infoset CRM helpdesk and ticket management

Tickets · Contacts · Companies · SLA · Email Threads · Batch Operations

CI Release GitHub release License: MIT Node.js MCP

</div>


Why infoset-mcp?

AI assistants need structured access to helpdesk data. REST APIs require authentication boilerplate, pagination handling, and rate limit management on every call. infoset-mcp wraps the Infoset CRM API into 16 MCP tools with built-in retry logic, rate limit protection, and batch operations, so your AI assistant can query tickets, contacts, and companies without dealing with HTTP plumbing.

  • API key auth: stateless X-API-Key header, no token refresh, no login flow
  • Rate limit aware: monitors x-ratelimit-remaining headers, auto-pauses before hitting limits
  • Retry with backoff: automatic 429 retry (3 attempts, 60s intervals)
  • Batch tools: fetch multiple tickets, logs, contacts, or companies in a single call with controlled concurrency
  • 3 dependencies: @modelcontextprotocol/sdk, axios, zod

Quick Start

git clone https://github.com/sudohakan/infoset-mcp.git
cd infoset-mcp
npm install

MCP Client Configuration (Recommended)

Using env-wrapper (reads credentials from .env, no secrets in config):

{
  "mcpServers": {
    "infoset": {
      "command": "/absolute/path/to/infoset-mcp/scripts/env-wrapper.sh",
      "args": ["/absolute/path/to/infoset-mcp/src/mcp-server.mjs"],
      "env": {}
    }
  }
}

Then create a .env file:

cp .env.example .env
# Set INFOSET_API_KEY in .env

Environment Variables

Variable Required Default Description
INFOSET_API_KEY Yes - Infoset API key (sent as X-API-Key header)
INFOSET_BASE_URL No https://api.infoset.app API base URL
INFOSET_USER_ID No Auto-detected Override user ID for owner-based filtering

Tools

Ticket Operations (7 tools)

Tool Description
infoset_list_tickets List tickets with status, owner, date, sort filters and pagination
infoset_get_ticket Get full ticket detail by ID
infoset_search_tickets Search tickets by keyword with status and priority filters
infoset_create_ticket Create a new ticket with subject, contact, priority, content
infoset_update_ticket Update ticket status, priority, owners, subject, stage, pipeline
infoset_get_ticket_logs Get activity logs for a ticket
infoset_get_ticket_stats Get ticket count breakdown by status (Open/Pending/Resolved/Closed)

Contact and Company (3 tools)

Tool Description
infoset_get_contact Get contact details by ID
infoset_list_contacts List or search contacts by name, email, phone
infoset_get_company Get company details by ID

Communication and SLA (2 tools)

Tool Description
infoset_get_email Get email thread content by email ID
infoset_get_sla_breaches Get SLA breach data for a ticket

Batch Operations (4 tools)

Tool Description
infoset_batch_get_tickets Get multiple tickets in parallel (concurrency: 5)
infoset_batch_get_ticket_logs Get logs for multiple tickets in parallel
infoset_batch_get_contacts Get multiple contacts with auto-deduplication
infoset_batch_get_companies Get multiple companies with auto-deduplication

Reference Codes

1 2 3 4
Status Open Pending Resolved Closed
Priority Low Normal High Urgent

Architecture

MCP Client (Claude, Cursor)  <--stdio-->  infoset-mcp (Node.js)  <--HTTPS-->  Infoset API
                                               |
                                    API Key Auth (X-API-Key)
                                    Rate Limit Monitor
                                    Retry Handler (429)
  • Transport: stdio (spawned by MCP client, JSON over stdin/stdout, logs to stderr)
  • Auth: X-API-Key header on every request, no token management needed
  • Rate limiting: monitors x-ratelimit-remaining, pauses 60s when remaining < 2
  • Retry: 429 responses trigger up to 3 retries with 60s backoff
  • Batch concurrency: max 5 parallel API calls per batch operation

Development

npm test              # Run 29 tests
npm run test:coverage # Run with coverage report
npm start             # Start server standalone

Contributing

See CONTRIBUTING.md for development setup, code style, and pull request guidelines.

Security

See SECURITY.md for credential handling and vulnerability reporting.


<div align="center">

MIT | Built with Claude Code

</div>

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured