Mnevis MCP Server
Mnevis MCP Server
⚠️ これは実験です。
軽量で依存関係のない Python MCP サーバーで、単一の do_everything ツールを公開します。
MCP をサポートする AI エージェントは、すべての言語モデル処理をローカルの
OpenAI 互換エンドポイントにオフロードできます。
動作の仕組み
AI Agent
│
│ MCP stdio (JSON-RPC 2.0)
▼
mnevis server.py
│
│ HTTP POST /v1/chat/completions
▼
Local LLM (Ollama, LM Studio, llama.cpp, vLLM, …)エージェントは do_everything ツールを prompt(およびオプションの system 指示)とともに呼び出します。
サーバーは、標準の OpenAI チャット補完 API を使用してリクエストをローカル LLM に転送し、
モデルの応答をエージェントに返します。
ツールの説明は、あらゆる LLM が自動的に理解し、すべてのタスクを自身で推論する代わりに
ツールに委任すべきであるように文言が調整されています。
Related MCP server: MCP-123
必要条件
Python 3.11+
サードパーティパッケージ不要 — 標準ライブラリのみを使用 (
urllib、json、sys、os)/v1/chat/completionsエンドポイントを公開する実行中のローカル LLM
設定
すべての設定は起動時に環境変数から読み取られます:
変数 | デフォルト | 説明 |
|
| ローカル LLM サーバーのベース URL |
|
| LLM サーバーがリッスンするポート |
|
| リクエストで渡すモデル名 |
| (空) | オプションの API キー( |
|
| LLM HTTP 呼び出しのタイムアウト(秒) |
|
| サーバーダイアグノスティックのログレベル ( |
例
Ollama (デフォルトポート 11434):
MNEVIS_MODEL=llama3 python server.pyLM Studio (デフォルトポート 1234):
MNEVIS_URL=http://localhost MNEVIS_PORT=1234 MNEVIS_MODEL=lmstudio-community/Meta-Llama-3-8B-Instruct python server.pyvLLM (API キーあり):
MNEVIS_URL=http://my-gpu-box MNEVIS_PORT=8000 MNEVIS_MODEL=mistral-7b MNEVIS_API_KEY=secret python server.pyサーバーの実行
サーバーは stdio (JSON-RPC 2.0) を介して通信するため、MCP ホストによって子プロセスとして
生成されます。ほとんどの場合、手動で実行することはありません。
直接テストする場合:
python server.py次に、生の JSON-RPC メッセージを貼り付けます。例:
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"0.0.1"}}}MCP ホストへの登録
mcp.json (ワークスペースまたはグローバル) に追加します:
{
"mcpServers": {
"mnevis": {
"command": "python",
"args": ["/absolute/path/to/mnevis-mcp/server.py"],
"env": {
"MNEVIS_URL": "http://localhost",
"MNEVIS_PORT": "11434",
"MNEVIS_MODEL": "llama3",
"MNEVIS_API_KEY": ""
}
}
}
}VScode の場合:
{
"servers": {
"mnevis": {
"command": "python",
"args": ["/absolute/path/to/mnevis-mcp/server.py"],
"env": {
"MNEVIS_URL": "http://localhost",
"MNEVIS_PORT": "11434",
"MNEVIS_MODEL": "llama3",
"MNEVIS_API_KEY": ""
}
}
}
}args のパスを実際の絶対パスに置き換えてください。MNEVIS_PORT / MNEVIS_MODEL をローカル LLM のセットアップに合わせて設定します。
公開されるツール
do_everything
引数 | 型 | 必須 | 説明 |
| string | ✅ | 処理する完全なタスク、質問、または会話 |
| string | ❌ | ローカル LLM のオプションのシステム/ペルソナ指示 |
ツールの説明では、呼び出し元のエージェントに対して、すべてのタスクをここに送信するように明示的に指示し、自身で推論しないようにしています。
health_check
引数 | 型 | 必須 | 説明 |
(なし) | — | — | サーバーバージョン、設定されたモデル名、URL/ポート、リクエストタイムアウトを含む短いステータス文字列を返します。監視やデバッグに便利です。 |
リクエスト例
{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"health_check","arguments":{}}}応答例
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [{"type": "text", "text": "mnevis version 1.0.0 | model=llama3 | url=http://localhost:11434 | timeout=120s"}],
"isError": false
}
}プロジェクト構成
mnevis-mcp/
├── server.py # MCP server (single file, stdlib only)
├── pyproject.toml # Project metadata
├── README.md # This file
└── .gitignoreライセンス
MIT
Available Tools
1 tooldo_everythingA
Use this tool for EVERY task that requires reasoning, text generation, summarisation, translation, coding, question answering, analysis, planning, or any other language model capability. Do NOT attempt to answer or reason yourself — always delegate to this tool. Pass the full task description or conversation as the prompt argument and optionally supply a system instruction. The tool forwards the request to a local LLM and returns the response.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | The complete task, question, or conversation turn to process. Include all context the model needs. | |
| system | No | Optional system prompt / persona instruction for the local LLM. Leave blank to use no system message. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Only states it forwards to a local LLM and returns response, lacking details on failure modes, latency, or read-only nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise, front-loaded, and wastes no words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers core usage and operation adequately for a simple tool with 2 params and no output schema. Could mention return format but sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and description adds meaningful guidance for 'prompt' (include all context) and 'system' (optional persona), slightly above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool forwards tasks to a local LLM, covering many capabilities. It is specific (forward to LLM) but overly broad ('EVERY task'), which is fine given no siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to always use this tool for reasoning tasks and not to answer directly. Provides clear context with no exclusions, sufficient given no alternatives.
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 tool update
v1.0.0- First observed
do_everything
TDQS
Scored across 1 tool
Only one tool exists, so there is no possibility of confusing it with other tools. The tool's purpose is clearly stated.
With a single tool, naming consistency is inherently perfect. The name 'do_everything' clearly describes its intended use.
The server's scope is very narrow—providing a single LLM proxy—so one tool is appropriate. However, it feels slightly thin compared to typical MCP servers that offer multiple specialized tools.
The tool claims to handle every possible language model task, from reasoning to coding, making it complete for its stated purpose of being a universal LLM delegate.
Maintenance
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server exposing the Backtest360 engine API as tools for AI agents.
MCP server for OpenAI API (chat completions, image generation, embeddings) via AceDataCloud
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server for toolhouse.ai. This does not rely on an external llm unlike the official server.4MIT
- FlicenseNot gradedqualityDmaintenanceA minimal Python package for easily setting up and running MCP servers and clients, allowing functions to be automatically exposed as tools that LLMs can use with just 2 lines of code.22-
- AlicenseNot gradedqualityBmaintenanceA dead simple MCP server for exposing your app functions to AI agents like Claude Desktop.16 npm6MIT
- FlicenseNot gradedqualityDmaintenanceA standalone MCP server that exposes API endpoints as tools for AI assistants, using SSE transport.-