Skip to main content
Glama
Mnevis MCP Server
by mar-co-za

Mnevis MCP Server

⚠️ This is an experiment.

A lightweight, zero-dependency Python MCP server that exposes a single do_everything tool. Any AI agent that supports MCP can use it to offload all language-model work to a local OpenAI-compatible endpoint.


How it works

AI Agent
    │
    │  MCP stdio (JSON-RPC 2.0)
    ▼
mnevis  server.py
    │
    │  HTTP POST /v1/chat/completions
    ▼
Local LLM  (Ollama, LM Studio, llama.cpp, vLLM, …)

The agent calls the do_everything tool with a prompt (and optional system instruction).
The server forwards the request to the local LLM using the standard OpenAI chat-completions API
and returns the model's response to the agent.

The tool description is worded so that any LLM automatically understands it should delegate
every task to the tool instead of reasoning on its own.


Related MCP server: MCP-123

Requirements

  • Python 3.11+

  • No third-party packages — uses the standard library only (urllib, json, sys, os)

  • A running local LLM that exposes a /v1/chat/completions endpoint


Configuration

All settings are read from environment variables at startup:

Variable

Default

Description

MNEVIS_URL

http://localhost

Base URL of the local LLM server

MNEVIS_PORT

11434

Port the LLM server listens on

MNEVIS_MODEL

llama3

Model name to pass in the request

MNEVIS_API_KEY

(empty)

Optional API key (sent as Bearer token)

MNEVIS_TIMEOUT

120

Request timeout in seconds for the LLM HTTP call

MNEVIS_LOGLEVEL

INFO

Logging level for server diagnostics (DEBUG, INFO, WARNING, ERROR)

Examples

Ollama (default port 11434):

MNEVIS_MODEL=llama3 python server.py

LM Studio (default port 1234):

MNEVIS_URL=http://localhost MNEVIS_PORT=1234 MNEVIS_MODEL=lmstudio-community/Meta-Llama-3-8B-Instruct python server.py

vLLM with API key:

MNEVIS_URL=http://my-gpu-box MNEVIS_PORT=8000 MNEVIS_MODEL=mistral-7b MNEVIS_API_KEY=secret python server.py

Running the server

The server communicates over stdio (JSON-RPC 2.0), so it is spawned as a child process by
the MCP host — you do not run it manually in most cases.

To test it directly:

python server.py

Then paste a raw JSON-RPC message, e.g.:

{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"0.0.1"}}}

Registering with an MCP host

Add to your mcp.json (workspace or global):

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

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

Replace the args path with the actual absolute path on your machine.
Set MNEVIS_PORT / MNEVIS_MODEL to match your local LLM setup.


Exposed tool

do_everything

Argument

Type

Required

Description

prompt

string

✅

The full task, question, or conversation to process

system

string

❌

Optional system / persona instruction for the local LLM

The tool description explicitly instructs the calling agent to send every task here rather than reasoning itself.

health_check

Argument

Type

Required

Description

(none)

—

—

Returns a short status string containing the server version, configured model name, URL/port and request timeout. Useful for monitoring or debugging.

Example request

{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"health_check","arguments":{}}}

Example response

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

Project layout

mnevis-mcp/
├── server.py        # MCP server (single file, stdlib only)
├── pyproject.toml   # Project metadata
├── README.md        # This file
└── .gitignore

License

MIT

Available Tools

1 tool
do_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.

Inputs: prompt (required), system.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A4/5.0

    Scored across 1 tool

    Disambiguation5/5

    Only one tool exists, so there is no possibility of confusing it with other tools. The tool's purpose is clearly stated.

    Naming Consistency5/5

    With a single tool, naming consistency is inherently perfect. The name 'do_everything' clearly describes its intended use.

    Tool Count4/5

    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.

    Completeness5/5

    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

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers