engine
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@engineget system information"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
engine
A self-owned, model-agnostic AI agent client whose core is a native, host-agnostic plugin
system. Adding a tool — from a tiny helper to the full scribe transcriber — is one small act,
and the same tool works for both you (a REPL command) and the agent (a model tool). Plain
line-REPL by design: no fullscreen TUI, so Polish input, trackpad scroll and text selection just
work. Runtime is stdlib-only and portable (macOS now, Linux/3090 later).
Layout
engine/— core:config,backends(the model interface),plugins(contract + discovery),agent(the loop),repl(the client),cli(bare-shell host adapter).plugins/— drop-in plugins:sysinfo(tiny),scribe(big). Add one = add a file here.tests/— pytest suite (deterministic, no network).smoke/— live checks against a real model (Ollama).tools/check_polish_input.py— a Polish-keyboard input check.
Related MCP server: cc-plugin-mcp
Run
# REPL (talks to qwen3:8b via Ollama by default):
PYTHONPATH=. .venv/bin/python -m engine.repl
# force the deterministic mock model instead:
ENGINE_BACKEND=mock PYTHONPATH=. .venv/bin/python -m engine.repl
# run a plugin straight from the shell (no model):
PYTHONPATH=. .venv/bin/python -m engine.cli sysinfo
PYTHONPATH=. .venv/bin/python -m engine.cli scribe --helpAdd a plugin (zero core edits)
Create plugins/hello.py:
from engine.plugins import SimplePlugin
PLUGIN = SimplePlugin("hello", "say hi",
{"type": "object", "properties": {"input": {"type": "string"}}},
lambda a: "hi " + str(a.get("input", "")))It is now a REPL command (/hello), a CLI command, and a tool the agent can call.
Swap the model (one value)
ENGINE_BACKEND=ollama|mock|anthropic (+ ENGINE_OLLAMA_MODEL / ENGINE_ANTHROPIC_MODEL). A new
provider is one branch in engine/backends.py:get_backend. (anthropic is code-complete + unit-tested
for wire format; going live needs ANTHROPIC_API_KEY.)
Use the plugins inside Claude Code (MCP)
The same plugins are exposed to Claude Code via a hand-rolled MCP stdio server (stdlib, zero deps):
# from the repo root:
claude mcp add engine -- "$PWD/.venv/bin/python" -m engine.hosts.mcp_serverThen Claude Code can call sysinfo / calc / scribe as tools — the identical plugins your REPL uses.
Tests
.venv/bin/python -m pytest . # 36 deterministic tests
.venv/bin/python smoke/ollama_agent_smoke.py # live: a real model calls a plugin
.venv/bin/python smoke/filter_spike.py # Phase-2 taste: bge-m3 separates real vs junk (toy)Available Tools
3 toolscalcB
Evaluate an exact arithmetic expression (+, -, *, /, **, %). Use for any calculation.
| Name | Required | Description | Default |
|---|---|---|---|
| expression | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It states the tool 'evaluates' an expression, implying a read-only operation, but does not explicitly mention safety, side effects, or limitations. For a simple calculator, this is acceptable but lacks clarity on what happens with invalid expressions.
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?
The description is a single sentence, immediately stating the tool's purpose. No redundant information is present, achieving maximum conciseness.
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?
Given the tool's simplicity, the description covers the core functionality. However, it lacks details on return format, error handling, and precision. The sibling tools suggest this is one of few tools, but completeness could be improved with a note on return type.
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 description coverage is 0% for the single 'expression' parameter, but the description adds meaning by specifying it is an arithmetic expression and listing operators (+, -, *, /, **, %). This compensates partially, but the parameter's type and format remain under-specified.
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?
Description clearly states the tool evaluates exact arithmetic expressions, listing supported operators. It distinguishes from siblings 'scribe' (likely writing) and 'sysinfo' (system info) by focusing on calculations.
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?
The description says 'use for any calculation' which is an implicit guideline but lacks explicit when-to-use or when-not-to-use context. No alternatives or exclusions are provided, leaving the agent with minimal usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scribeA
Run the scribe CLI (video -> transcript for AI). Pass CLI arguments, e.g. args=['--help'] or args=['', '--dry-run', '--json'].
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | arguments passed straight to the scribe CLI |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations present, so description must fully disclose behavior. It states arguments are passed 'straight to the scribe CLI' but does not mention side effects, auth requirements, output handling, or safety implications.
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?
Two sentences: first states purpose, second provides examples. No unnecessary words, front-loaded with key information.
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?
Adequate for a simple single-parameter tool with no output schema, but lacks information on return values, error behavior, or prerequisites that would fully prepare an agent to use it effectively.
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 description coverage is 100%, but the description adds concrete usage examples (--help, --dry-run, --json) that clarify the expected format beyond the schema's generic description.
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?
Clearly states verb 'Run' and resource 'scribe CLI' with purpose 'video -> transcript for AI'. Distinguishes from sibling tools (calc, sysinfo) by domain.
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?
Provides example arguments for typical use cases (--help and dry-run with JSON), but no explicit guidance on when to use this tool versus alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sysinfoB
Report this machine's OS, CPU count and RAM. No arguments needed.
| Name | Required | Description | Default |
|---|---|---|---|
| verbose | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states basic output but does not explain the optional 'verbose' parameter's effect or any side effects. The statement 'no arguments needed' could mislead agents into thinking there are no parameters.
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?
The description is a single concise sentence that efficiently conveys the tool's purpose. It earns its place without extra words.
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?
For a simple tool with one optional parameter and no output schema, the description covers the main output but lacks explanation of the parameter and return format, making it minimally adequate.
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 description coverage is 0% for the sole parameter 'verbose'. The description says 'no arguments needed' but does not clarify the parameter's meaning or effect, offering minimal added value.
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 explicitly states it reports OS, CPU count, and RAM, with a clear verb and resource. It distinguishes from sibling tools calc and scribe which are for different domains.
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?
The description notes 'no arguments needed' which implies simplicity but does not provide explicit when-to-use or alternatives. It lacks guidance on when to choose sysinfo over siblings.
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. Dates show when Glama detected each change.
3 tool updates
v0.1.0- First observed
calc - First observed
scribe - First observed
sysinfo
TDQS
Each tool has a clearly distinct purpose: calc for arithmetic, scribe for video transcription, sysinfo for system information. There is no overlap or ambiguity between them.
All tool names are lowercase single words (calc, scribe, sysinfo), which is consistent in style. However, they don't follow a strict verb_noun pattern, and one is an abbreviation (calc) while another is a concatenation (sysinfo).
Having three tools is borderline appropriate given the server name 'engine' implies a broad utility scope. The count feels thin but not extreme, and each tool seems self-contained.
The tools cover a calculator, a video transcriber, and system info, which are unrelated domains. There are obvious gaps if this is meant as a general-purpose engine (e.g., no file operations, no networking). The set feels incomplete for any coherent purpose.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
- QuallaaOAuthcom.quallaa
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Real-time chat for AI agents. Claude Code, Cursor, Cline and Codex join channels over MCP.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA transport-agnostic MCP server that integrates multiple AI coding agents (Claude Code, Gemini, and Codex) with built-in tools for command execution, calculations, and streaming capabilities. Supports both STDIO and HTTP transports for flexible deployment.231MIT
- AlicenseBqualityDmaintenanceMCP server for accessing Claude Code plugins. Enables retrieving plugin lists and detailed information via MCP clients like Claude Desktop, Cursor.2MIT
- AlicenseAqualityFmaintenanceMCP server for running external coding agents as background tasks inside Claude Code. Supports multiple backends including Codex, Grok, GLM, DeepSeek, and more.7MIT
- AlicenseAqualityBmaintenanceA local stdio MCP service that unifies coding agents like Codex and Claude into cs_agent_* tools, enabling the root agent to create, invoke, and manage child agents with recursive delegation.14582MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/NieLubieRudej/engine'
If you have feedback or need assistance with the MCP directory API, please join our Discord server