dixa-mcp

dixa-mcp

3.1

If you are the rightful owner of dixa-mcp 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.

A FastMCP server implementation for the Dixa API, providing resources and tools for managing 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 key
  • DIXA_API_BASE_URL (optional): Override the default API URL (defaults to 'https://dev.dixa.io/v1')

Usage

  1. Set up environment variables:
   export DIXA_API_KEY='your-api-key'
  1. 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

  1. Create a schema in src/schemas/
  2. Create the resource in src/resources/
  3. 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

  1. Create the tool in src/tools/
  2. 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 errors
  • DixaValidationError: For response validation failures

Showcase

[!NOTE]

If you've developed a server using FastMCP, please submit a PR to showcase it here!

Acknowledgements

Contributing

  1. Follow the existing patterns for resources and tools
  2. Add proper JSDoc documentation
  3. Use the shared utilities in types.ts and config.ts
  4. Update the README if adding new features