MCP HubMCP Hub
amidabuddha

unichat-ts-mcp-server

by: amidabuddha

unichat ts mcp server

9created 02/12/2024
Visit
TypeScript
Chat

📌Overview

Purpose: The Unichat MCP Server in TypeScript serves as a middleware to send requests to various AI vendors using the MCP protocol.

Overview: This server implementation enables interactions with AI services such as OpenAI, MistralAI, and others, facilitating the execution of tasks through predefined prompts and tool commands. It supports both STDIO and SSE transport methods for flexible integration.

Key Features:

  • Tool Implementation (unichat): A command that allows users to send messages directly to the Unichat server for processing, facilitating interaction with multiple AI models.

  • Predefined Prompts: Various prompts such as code_review, document_code, explain_code, and code_rework allow users to perform specific programming tasks, including code analysis and documentation generation, with clear argument requirements.


Unichat MCP Server in TypeScript

Also available in Python

Send requests to OpenAI, MistralAI, Anthropic, xAI, Google AI, or DeepSeek using the MCP protocol via tool or predefined prompts. Vendor API key required. Both STDIO and SSE transport mechanisms are supported via arguments.

Tools

The server implements one tool:

  • unichat: Send a request to unichat
    • Takes "messages" as required string arguments
    • Returns a response

Prompts

  • code_review
    • Review code for best practices, potential issues, and improvements
    • Arguments:
      • code (string, required): The code to review
  • document_code
    • Generate documentation for code including docstrings and comments
    • Arguments:
      • code (string, required): The code to comment
  • explain_code
    • Explain how a piece of code works in detail
    • Arguments:
      • code (string, required): The code to explain
  • code_rework
    • Apply requested changes to the provided code
    • Arguments:
      • changes (string, optional): The changes to apply
      • code (string, required): The code to rework

Development

Install dependencies:

npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

Installation

Installing via Smithery

To install Unichat MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install unichat-ts-mcp-server --client claude

Installing manually

To use with Claude Desktop, add the server config:

  • On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • On Windows: %APPDATA%/Claude/claude_desktop_config.json

Run locally:

{
  "mcpServers": {
    "unichat-ts-mcp-server": {
      "command": "node",
      "args": [
        "{{/path/to}}/unichat-ts-mcp-server/build/index.js"
      ],
      "env": {
        "UNICHAT_MODEL": "YOUR_PREFERRED_MODEL_NAME",
        "UNICHAT_API_KEY": "YOUR_VENDOR_API_KEY"
      }
    }
  }
}

Run published:

{
  "mcpServers": {
    "unichat-ts-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "unichat-ts-mcp-server"
      ],
      "env": {
        "UNICHAT_MODEL": "YOUR_PREFERRED_MODEL_NAME",
        "UNICHAT_API_KEY": "YOUR_VENDOR_API_KEY"
      }
    }
  }
}

By default, the server runs in STDIO mode or with argument --stdio. To run in SSE mode, add argument --sse:

npx -y unichat-ts-mcp-server --sse

Supported Models

A list of currently supported models to be used as "YOUR_PREFERRED_MODEL_NAME" may be found here. Please make sure to add the relevant vendor API key as "YOUR_VENDOR_API_KEY".

Example:

"env": {
  "UNICHAT_MODEL": "gpt-4o-mini",
  "UNICHAT_API_KEY": "YOUR_OPENAI_API_KEY"
}

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:

npm run inspector

The Inspector will provide a URL to access debugging tools in your browser.

If you experience timeouts during testing in SSE mode, change the request URL on the inspector interface to:

http://localhost:3001/sse?timeout=600000