unichat-ts-mcp-server
by: amidabuddha
unichat ts mcp server
📌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
, andcode_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 applycode
(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