Skip to main content
Glama

Python으로 만든 Unichat MCP 서버

TypeScript 에서도 사용 가능

MCP 프로토콜을 사용하여 도구 또는 사전 정의된 프롬프트를 통해 OpenAI, MistralAI, Anthropic, xAI, Google AI, DeepSeek, Alibaba, Inception에 요청을 보내세요. 공급업체 API 키가 필요합니다.

도구

서버는 하나의 도구를 구현합니다.

  • unichat : unichat에 요청 보내기

    • 필수 문자열 인수로 "메시지"를 사용합니다.

    • 응답을 반환합니다

프롬프트

  • code_review

    • 모범 사례, 잠재적 문제 및 개선 사항을 위해 코드를 검토하세요.

    • 인수:

      • code (문자열, 필수): 검토할 코드

  • document_code

    • docstring과 주석을 포함한 코드에 대한 문서를 생성합니다.

    • 인수:

      • code (문자열, 필수): 주석을 달 코드

  • explain_code

    • 코드의 작동 방식을 자세히 설명하세요

    • 인수:

      • code (문자열, 필수): 설명할 코드

  • code_rework

    • 요청된 변경 사항을 제공된 코드에 적용합니다.

    • 인수:

      • changes (문자열, 선택 사항): 적용할 변경 사항

      • code (문자열, 필수): 다시 작업할 코드

Related MCP server: MCP AI Gateway

빠른 시작

설치하다

클로드 데스크탑

MacOS의 경우: ~/Library/Application\ Support/Claude/claude_desktop_config.json Windows의 경우: %APPDATA%/Claude/claude_desktop_config.json

지원 모델:

현재 "SELECTED_UNICHAT_MODEL" 로 사용할 수 있는 지원되는 모델 목록은 여기에서 확인할 수 있습니다. 관련 공급업체 API 키를 "YOUR_UNICHAT_API_KEY" 에 추가하세요.

예:

지엑스피1

개발/미공개 서버 구성

"mcpServers": {
  "unichat-mcp-server": {
    "command": "uv",
    "args": [
      "--directory",
      "{{your source code local directory}}/unichat-mcp-server",
      "run",
      "unichat-mcp-server"
    ],
    "env": {
      "UNICHAT_MODEL": "SELECTED_UNICHAT_MODEL",
      "UNICHAT_API_KEY": "YOUR_UNICHAT_API_KEY"
    }
  }
}

게시된 서버 구성

"mcpServers": {
  "unichat-mcp-server": {
    "command": "uvx",
    "args": [
      "unichat-mcp-server"
    ],
    "env": {
      "UNICHAT_MODEL": "SELECTED_UNICHAT_MODEL",
      "UNICHAT_API_KEY": "YOUR_UNICHAT_API_KEY"
    }
  }
}

Smithery를 통해 설치

Smithery를 통해 Claude Desktop용 Unichat을 자동으로 설치하려면:

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

개발

건축 및 출판

배포를 위해 패키지를 준비하려면:

  1. 이전 빌드 제거:

rm -rf dist
  1. 종속성 동기화 및 잠금 파일 업데이트:

uv sync
  1. 패키지 배포 빌드:

uv build

이렇게 하면 dist/ 디렉토리에 소스와 휠 배포판이 생성됩니다.

  1. PyPI에 게시:

uv publish --token {{YOUR_PYPI_API_TOKEN}}

디버깅

MCP 서버는 stdio를 통해 실행되므로 디버깅이 어려울 수 있습니다. 최상의 디버깅 환경을 위해서는 MCP Inspector 사용을 강력히 권장합니다.

다음 명령을 사용하여 npm 통해 MCP Inspector를 시작할 수 있습니다.

npx @modelcontextprotocol/inspector uv --directory {{your source code local directory}}/unichat-mcp-server run unichat-mcp-server

Inspector를 실행하면 브라우저에서 접근하여 디버깅을 시작할 수 있는 URL이 표시됩니다.

Available Tools

1 tool
unichatC

Chat with an assistant. Example tool use message: Ask the unichat to review and evaluate your proposal.

ParametersJSON Schema
NameRequiredDescriptionDefault
messagesYesArray of exactly two messages: first a system message defining the task, then a user message with the specific query

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions nothing about behavioral traits like whether this is a read-only operation, if it requires authentication, rate limits, or what kind of responses to expect. The example hints at evaluation tasks but doesn't disclose operational characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief but includes an example that adds some value. However, the formatting with extra whitespace is awkward, and the example could be integrated more cleanly. It's not excessively verbose, but the structure could be improved for better front-loading of information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a chat tool with no annotations and no output schema, the description is insufficient. It doesn't explain what the assistant does, what domains it covers, what format responses take, or any limitations. The example provides minimal context but doesn't compensate for the lack of structured information about this interactive tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents the single parameter (messages array with exactly two messages). The description adds no parameter information beyond what's in the schema, not even mentioning the two-message requirement. Baseline 3 is appropriate when schema does all the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Chat with an assistant' which indicates the basic function, but it's vague about what this assistant does or what domain it operates in. The example tool use message adds some context about reviewing proposals, but doesn't make the purpose specific or distinguish it from other chat tools. It's not tautological but lacks clear differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives is provided. The example suggests it can be used for reviewing proposals, but there's no mention of prerequisites, limitations, or when not to use it. With no sibling tools, the bar is lower, but still lacks basic usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • First observedunichat

TDQS

C2.9/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool 'unichat' has a clear and distinct purpose of chatting with an assistant.

Naming Consistency5/5

A single tool inherently has perfect naming consistency, as there are no other tools to compare it against. The name 'unichat' follows a simple, readable pattern without any conflicting conventions.

Tool Count2/5

A single tool is too few for most server purposes, as it severely limits functionality and scope. While it might be appropriate for a minimal chat interface, it feels thin and lacks the depth expected for a typical MCP server, which usually requires multiple tools to handle different operations or resources.

Completeness3/5

For a chat assistant domain, the single tool 'unichat' covers the core action of chatting, but there are notable gaps. It lacks operations for managing chat history, configuring settings, or handling multiple sessions, which are common in chat systems. However, the basic functionality is present, allowing agents to perform the primary task.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Send requests to OpenAI, MistralAI, Anthropic, xAI, or Google AI using MCP protocol via tool or predefined prompts. Vendor API key required. Both STDIO and SSE transport mechanisms are supported via arguments.
    212 npm
    11
    MIT
  • A
    license
    B
    quality
    F
    maintenance
    Enables AI assistants to intelligently select and switch between different AI models (OpenAI, Anthropic, etc.) within the same conversation based on task requirements. Provides a unified interface for accessing multiple AI providers through a single MCP tool.
    1
    21 npm
    MIT
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables Claude and other MCP-compatible tools to communicate with OpenAI's GPT models (GPT-5, GPT-5-mini, o3) with conversation history and session management. Features advanced controls like reasoning effort settings, token tracking, and parallel conversation sessions for efficient AI workflows.
    7 npm
    -