UnichatSAFE
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
Also available in TypeScript --
Send requests to OpenAI, Anthropic, and OpenAI-compatible providers using MCP protocol via tool or predefined prompts. For OpenAI-compatible providers such as MistralAI, xAI, Google AI, DeepSeek, Alibaba, or Inception, set UNICHAT_BASE_URL to the provider's compatible API endpoint. Vendor API key required
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 c
ec692f6360c2OBSERVED · 2026-10-08Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add unichat-mcp-server --env UNICHAT_API_KEY=${UNICHAT_API_KEY} -- uvx unichat-mcp-server{
"mcpServers": {
"unichat-mcp-server": {
"command": "uvx",
"args": [
"unichat-mcp-server"
],
"env": {
"UNICHAT_API_KEY": "${UNICHAT_API_KEY}"
}
}
}
}Exposed tools (1)
1 read · 0 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
unichat | read |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (1)
The server reads environment variables; it does not load `.env` files itself. For Claude Desktop, keep these values in the server's `env` configuration shown above.
Gates applied: no_behavioural_pass.
ec692f6360c2full audit observations/trust-audit/mcp-server/amidabuddha__unichat.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-08 | ec692f6360c2 | SAFE | B | 89 | first audit |
Questions
What tools does Unichat expose?
1 in total: 1 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is Unichat safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does Unichat need?
It reads UNICHAT_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does Unichat run?
It speaks stdio, so it runs as a local process your client starts. It is published on PyPI as unichat-mcp-server.
How current is this page?
The grade is for one exact copy of the source (ec692f6360c2), read on 2026-10-08. The repository is watched and re-audited when it changes.