✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

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!

  • 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

  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

Featured Templates

View More
AI Characters
Your Speaking Avatar
168 683
Verified Icon
AI Agents
AI Chatbot Starter Kit
1304 6060 5.0
Customer service
AI-Powered Product List Manager
142 618
AI Agents
AI Video Generator
249 1346 5.0
Verified Icon
AI Assistants
Speech to Text
133 1500

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.