logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

dixa-conversation-manager-service

A specialized FastMCP platform component engineered for interacting with the Dixa platform's communication records. It facilitates sophisticated querying and retrieval of interaction histories, associated metadata, and messaging content. Furthermore, it provides atomic operations for systematically applying or revoking descriptive categorization labels (tags) to streamline case management workflows.

Author

dixa-conversation-manager-service logo

ktabori

MIT License

Quick Info

GitHub GitHub Stars 0
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

conversationsdixaconversationconversations tagstags conversationsmanage conversations

Dixa Communication Record Utility Server

This repository houses a robust, high-performance implementation of an MCP server designed specifically to interface with the Dixa API ecosystem. It exposes structured access points for conversation data manipulation and metadata management.

Core Capabilities (Resources)

  • Dialogue Search: Perform detailed lookups across the corpus of customer interactions.
  • Detail Retrieval: Fetch comprehensive attribute sets for any given interaction.
  • Annotation Access: Retrieve associated internal memos or notes pertaining to an interaction.
  • Message Log Extraction: Obtain the sequence of messages constituting the dialogue.
  • Label Registry Query: List all currently defined categorical markers available for use.

Actionable Functions (Tools)

  • Label Assignment: Attach new descriptive tags to interaction threads.
  • Label Revocation: Detach existing descriptive tags from interaction threads.

System Architecture Blueprint

/src ├── dixa.ts # Primary server bootstrapping and endpoint registration ├── config.ts # Handles environment variable parsing and configuration loading ├── types.ts # Defines shared data structures and error taxonomy ├── resources/ # Module definitions for data fetching operations ├── schemas/ # Zod validation contracts for input/output integrity └── tools/ # Module definitions for state-modifying operations

Deployment Prerequisites

The operational instance requires the following external environment variables to be set:

  • DIXA_API_KEY: Confidential credential for authenticating against the Dixa service.
  • DIXA_API_BASE_URL (Optional): Allows redirection to non-standard API endpoints (Default: 'https://dev.dixa.io/v1').

Execution Guide

  1. Set required credentials in your shell: bash export DIXA_API_KEY='your-secret-token'

  2. Initiate the server process: bash npm start

Local Development & Testing Utilities

Rapid Iteration with mcp-cli

Leverage fastmcp dev for immediate validation and debugging within your terminal environment:

bash npx fastmcp dev server.js npx fastmcp dev server.ts

This command launches the service and connects it to the interactive command-line interface provided by mcp-cli.

Visual Inspection via MCP Inspector

For an interactive, browser-based inspection of the service endpoints, use the official tool:

bash npx fastmcp inspect server.ts

Interoperability FAQ

Integration with Claude Desktop Environment

To enable this service for use within the desktop application, consult the official quickstart guide (https://modelcontextprotocol.io/quickstart/user) and integrate the following configuration block into your local settings file:

{ "mcpServers": { "my-dixa-interface": { "command": "npx", "args": [ "tsx", "/PATH/TO/YOUR_PROJECT/src/index.ts" ], "env": { "YOUR_ENV_VAR": "value" } } } }

Extensibility Guidelines

Developing a New Data Fetcher (Resource)

  1. Define the data contract/schema within src/schemas/.
  2. Implement the retrieval logic in a new file within src/resources/.
  3. Register the new resource endpoint within src/dixa.ts.

Example Resource Skeleton: typescript export const myResource = { uri: "dixa://my-resource", name: "My Resource", description: "Description", load: async (args: MyArgs, apiKey: string) => { / Logic here / } };

Developing a New Manipulator (Tool)

  1. Implement the specific action logic in a dedicated file within src/tools/.
  2. Register the new tool in src/dixa.ts.

Example Tool Skeleton: typescript export const myTool = { name: "My Tool", description: "Description", execute: async (args: MyArgs, apiKey: string) => { / Logic here / } };

Error Taxonomy

The system utilizes distinct error classes for precise error reporting: - DixaError: The foundational class for general API interaction failures. - DixaValidationError: Specific designation for issues arising from data structure validation mismatches.

Community Showcase

[!NOTE] If you have successfully deployed a service using the FastMCP framework, kindly contribute a reference via a pull request to the main repository for inclusion here!

  • https://github.com/apinetwork/piapi-mcp-server
  • https://github.com/Meeting-Baas/meeting-mcp - A counterpart server enabling AI agents for meeting orchestration, transcript analysis, and recording management.

Derivative Works & Inspirations

This project draws influence and structure from several established efforts: - FastMCP (Python implementation) by Jonathan Lowin. - Structural foundations adopted from LiteMCP. - Architectural patterns derived from explorations into Server-Sent Events (SSE) via MCP, documented in Model Context protocolでSSEをやってみる.

Contribution Guidelines

To ensure successful integration of new features, please adhere to the following: 1. Maintain established structural conventions for resources and tools. 2. Ensure all new components are thoroughly documented using JSDoc standards. 3. Utilize the standardized utility functions found in types.ts and config.ts. 4. Update this README file if the public interface or capabilities are modified.

See Also

`