Dixa MCP Server
A server for the Dixa API, enabling management of conversations and tags.
Dixa MCP Server
A FastMCP server implementation for the Dixa API, providing resources and tools for managing conversations and tags.
Features
-
Resources
- Search conversations
- Get conversation details
- Get conversation notes
- Get conversation messages
- Get available tags
-
Tools
- Add tags to conversations
- Remove tags from conversations
Project Structure
/src
├── dixa.ts # Main server setup
├── config.ts # Configuration and environment settings
├── types.ts # Shared types and error handling
├── resources/ # Resource implementations
├── schemas/ # Zod schemas for validation
└── tools/ # Tool implementations
Configuration
The server requires the following environment variables:
DIXA_API_KEY
: Your Dixa API keyDIXA_API_BASE_URL
(optional): Override the default API URL (defaults to 'https://dev.dixa.io/v1')
Usage
- Set up environment variables:
export DIXA_API_KEY='your-api-key'
- Start the server:
npm start
## Running Your Server
### Test with `mcp-cli`
The fastest way to test and debug your server is with `fastmcp dev`:
```bash
npx fastmcp dev server.js
npx fastmcp dev server.ts
This will run your server with mcp-cli
for testing and debugging your MCP server in the terminal.
Inspect with MCP Inspector
Another way is to use the official MCP Inspector
to inspect your server with a Web UI:
npx fastmcp inspect server.ts
FAQ
How to use with Claude Desktop?
Follow the guide https://modelcontextprotocol.io/quickstart/user and add the following configuration:
{
"mcpServers": {
"my-mcp-server": {
"command": "npx",
"args": [
"tsx",
"/PATH/TO/YOUR_PROJECT/src/index.ts"
],
"env": {
"YOUR_ENV_VAR": "value"
}
}
}
}
Development
Adding a New Resource
- Create a schema in
src/schemas/
- Create the resource in
src/resources/
- Add the resource to
src/dixa.ts
Example resource:
export const myResource = {
uri: "dixa://my-resource",
name: "My Resource",
description: "Description",
load: async (args: MyArgs, apiKey: string) => {
// Implementation
}
};
Adding a New Tool
- Create the tool in
src/tools/
- Add the tool to
src/dixa.ts
Example tool:
export const myTool = {
name: "My Tool",
description: "Description",
execute: async (args: MyArgs, apiKey: string) => {
// Implementation
}
};
Error Handling
The project uses custom error classes:
DixaError
: Base error class for API errorsDixaValidationError
: For response validation failures
Showcase
[!NOTE]
If you've developed a server using FastMCP, please submit a PR to showcase it here!
- https://github.com/apinetwork/piapi-mcp-server
- https://github.com/Meeting-Baas/meeting-mcp - Meeting BaaS MCP server that enables AI assistants to create meeting bots, search transcripts, and manage recording data
Acknowledgements
- FastMCP is inspired by the Python implementation by Jonathan Lowin.
- Parts of codebase were adopted from LiteMCP.
- Parts of codebase were adopted from Model Context protocolでSSEをやってみる.
Contributing
- Follow the existing patterns for resources and tools
- Add proper JSDoc documentation
- Use the shared utilities in
types.ts
andconfig.ts
- Update the README if adding new features
Related Servers
Twilio
Interact with Twilio APIs to send messages, manage phone numbers, configure your account, and more.
Gmail
Tools for common Gmail operations, such as sending emails.
RSS MCP Server by CData
A read-only MCP server for querying live RSS data using the CData JDBC Driver for RSS.
Slack MCP Server
A Slack integration server that allows natural language interaction with the Slack API within the Cursor IDE.
Slack MCP Server
An MCP server for interacting with Slack workspaces using user tokens, without requiring bots or special permissions.
Gmail MCP
Manage your Gmail account, including sending, reading, and organizing emails.
Wizzypedia MCP Server
Interact with Wizzypedia through the MediaWiki API, supporting both read-only and authenticated operations.
Instantly
Manage email campaigns and leads using the Instantly.ai v2 API.
MCP Intercom Server
Provides access to Intercom conversations and chats. Requires an Intercom API key.
ELEMENT.FM
Create and publish unlimited podcast shows and episodes with ELEMENT.FM