Unichat (TS)

by amidabuddha

11 stars
1.6k downloads
Not rated
GitHub

About

Integrates multiple language models via the unified Unichat tool, enabling seamless interaction across OpenAI, MistralAI, Anthropic, xAI, and Google AI platforms.

Details

Author
amidabuddha
Repository
amidabuddha/unichat-ts-mcp-server
GitHub stars
11
Downloads
1,583
License
MIT License
Categories
Productivity, Developer Tools, Design, Workplace, File Management, AI, Community, Frontend, API, Infrastructure, Other

- One tool: unichat for sending chat requests
- Four predefined prompts: code review, document code, explain code, code rework
- Supports STDIO and SSE transport mechanisms
- Works with multiple AI vendors (OpenAI, MistralAI, Anthropic, xAI, Google AI, DeepSeek)
- Available as an npm package and via Smithery

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Unichat (TS)
    Command (node, npx, python, etc.) node
    Arguments
    • Argument 1 {{/path/to}}/unichat-ts-mcp-server/build/index.js
    Environment
    • UNICHAT_MODEL YOUR_PREFERRED_MODEL_NAME
    • UNICHAT_API_KEY YOUR_VENDOR_API_KEY

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

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

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

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"
}
}
}

> Runs in STDIO by default or with argument --stdio. To run in SSE add argument --sse

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

SSE transport validates the Host header against localhost, 127.0.0.1, and [::1] by default. For remote SSE deployments, set MCP_ALLOWED_HOSTS to a comma-separated list of allowed hostnames.

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-5.4-mini",
"UNICHAT_API_KEY": "YOUR_OPENAI_API_KEY"
}

unichat

Send a request to unichat. Takes 'messages' as required string arguments and returns a response.

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.

The server implements one tool:
- unichat: Send a request to unichat
- Takes "messages" as required string arguments
- Returns a response

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

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

Linux

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

Macos

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

Windows

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

Unichat MCP Server in TypeScript

Also available in Python -- <h4 align="center"> <a href="https://glama.ai/mcp/servers/ub2u8wtbbv">unichat-ts-mcp-server MCP server</a> <a href="https://mseep.ai/app/amidabuddha-unichat-ts-mcp-server">MseeP.ai Security Assessment Badge</a> <a href="https://smithery.ai/server/unichat-ts-mcp-server"><br> Smithery Server Installations </a> </h4>

Send requests to OpenAI, MistralAI, Anthropic, xAI, Google AI or DeepSeek using MCP protocol via tool or predefined prompts. Vendor API key required.

Both STDIO and SSE transport mechanisms 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"
}
}
}

> Runs in STDIO by default or with argument --stdio. To run in SSE add argument --sse

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

SSE transport validates the Host header against localhost, 127.0.0.1, and [::1] by default. For remote SSE deployments, set MCP_ALLOWED_HOSTS to a comma-separated list of allowed hostnames.

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-5.4-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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.