SymKit
SymKit is an MCP server providing a Mathematica-style symbolic computation engine, enabling AI agents to perform step-by-step mathematical derivations with verification, provenance tracking, and code generation โ all driven by natural language.
Symbolic Math Operations: Execute ~25 operations via a single
mathtool: differentiation, integration, limits, series expansion, ODE solving, Laplace/Fourier transforms, vector calculus (gradient, divergence, curl, Laplacian), matrix operations (determinant, inverse, eigenvalues/eigenvectors), simplification (expand, factor, trigsimp, etc.), and more.Derivation Session Management: Start, resume, pause, rollback, annotate, and complete sessions with a full immutable audit trail of every step.
Verification: Symbolically verify individual steps or entire derivation chains for mathematical correctness.
High-Level Orchestration: Use
deriveandintent_executeto map natural-language goals to tool chains, with auto-loaded formulas and derivation plans across any quantitative domain (physics, engineering, chemistry, etc.).Symbolic Assumptions: Set and inspect variable assumptions (positive, real, integer, etc.) at global, domain, session, or step level, with conflict detection.
Formula Search & Management: Search a local YAML library or external sources (Wikidata, SciPy, BioModels), retrieve detailed formula info, and add custom formulas with metadata.
Symbol Registry: Register and look up semantic meanings, units, and aliases for symbols; detect ambiguous cross-domain conflicts.
Code & Report Generation: Export verified derivations as Python functions, LaTeX documents, Markdown reports, or standalone SymPy scripts.
Tool Discovery: List tools by category and get recommendations for specific tasks.
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., "@SymKitDerive the angular frequency of a simple harmonic oscillator."
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.
SymKit
Mathematica-style symbolic computation, powered by LLMs.
๐ English | ็ฎไฝไธญๆ
What if you had Mathematica's symbolic engine, driven by natural language?
Mathematica gave us precise symbolic math. LLMs gave us natural-language reasoning. SymKit combines both.
It is an MCP server that lets AI agents perform step-by-step symbolic derivations: calculate, transform, verify, and store formulas with full provenance โ all through conversation.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
โ You describe the math in plain English โ
โ โ โ
โ SymKit executes, verifies, and records every step โ
โ โ โ
โ You get an exact, reusable formula with an audit trail โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโRelated MCP server: Symath-MCP
Why SymKit?
Traditional LLM | SymKit |
โ "The answer is approximately..." | โ "The exact expression is..." |
โ "Let me calculate that again" | โ Every step is recorded and verifiable |
โ "I think these units work out" | โ Dimensional analysis checks every result |
โ "Where did this formula come from?" | โ Full provenance: base formulas + derivation steps |
โ Calculation is lost in chat history | โ Stored as reusable Markdown + YAML |
What it does
SymKit is not a formula database. It is a symbolic derivation engine that creates new formulas from existing ones.
Known formulas New formula
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ F = -kx โ โ โ
โ F = ma โ โโcomposeโโโถ โ ฯ = โ(k/m) โ
โ dยฒx/dtยฒ = a โ โ (simple harmonic oscillator) โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโUse it for physics, engineering, chemistry, biology, economics โ any domain where you need to combine and transform mathematical relationships.
โก Four superpowers
Capability | What it means | Tools |
Derive | Combine base formulas into new ones |
|
Control | Review, annotate, and rollback every step |
|
Verify | Check correctness symbolically and dimensionally |
|
Ship | Turn results into Python, LaTeX, Markdown, or SymPy |
|
๐ See it in action
Derive a physical law from first principles:
User: Derive the angular frequency of a simple harmonic oscillator.
SymKit:
1. Load F = -kx and F = mยทdยฒx/dtยฒ
2. Substitute โ mยทdยฒx/dtยฒ = -kx
3. Solve ODE โ x(t) = Aยทcos(ฯt + ฯ), ฯ = โ(k/m)
4. Verify by substitution: dยฒx/dtยฒ = -ฯยฒx โ
5. Store result with full derivation historyBuild a custom engineering model:
User: Find the cutoff frequency of an RC high-pass filter.
SymKit:
1. Load Q = CV and V = IR
2. Derive capacitive reactance X_c = 1/(2ฯfC)
3. Set X_c = R at cutoff
4. Solve for f โ f_c = 1 / (2ฯRC) โVerify a calculus result:
User: Calculate and verify โซ(xยฒ + 3x) dx.
โ Result: xยณ/3 + 3xยฒ/2 + C
โ Verify: d/dx(xยณ/3 + 3xยฒ/2) = xยฒ + 3x โ๐ ๏ธ 41 MCP tools, one coherent workflow
SymKit exposes 41 MCP tools across 8 categories. Everything routes through a few high-level tools while power users can drop down to individual steps.
Category | Tools | Count |
Unified Math |
| 1 |
Session Management |
| 17 |
Assumptions |
| 6 |
Formula Search |
| 4 |
Symbol Registry |
| 4 |
Code Generation |
| 4 |
Derivation & Orchestration |
| 3 |
Tool Discovery |
| 2 |
The math() tool alone covers ~25 symbolic operations โ calculus, ODEs, matrices, vector analysis, integral transforms โ and can write its result directly into a derivation session.
๐ Formula search workflow
SymKit can pull authoritative formulas from Wikidata and physical constants from SciPy, normalize LLM queries automatically, and load the chosen formula straight into a derivation session.
Recommended workflow:
1. Search
formula_search("Navier-Stokes equations", domain="fluid_dynamics")
2. Get and load
formula_get("Q201321", source="wikidata", load_into_session=True)
3. Derive
math("simplify", "...", session=True)
4. Complete
session_complete(description="Incompressible NS momentum equation")Query normalization: you can write queries naturally โ fluid_dynamics, fluid mechanics, and cfd all resolve to the same domain; NavierโStokes (en dash) and Navier-Stokes (hyphen) match the same Wikidata item.
MathML handling: Wikidata sometimes returns rendered MathML for search previews. Call formula_get on the result ID to retrieve the original LaTeX and a SymPy-ready string.
๐๏ธ You own every step
A derivation in SymKit is a chain of immutable, verifiable steps. You can:
Create โ
session_record_stepRead โ
session_get_steps,session_showAnnotate โ
session_add_noteRollback โ
session_rollbackVerify โ
session_verify_step,session_verify_session
Expressions are never edited in place. If something goes wrong, roll back to the last good state and continue. This keeps the entire derivation reproducible.
๐ Works with the MCP ecosystem
SymKit is designed to extend, not replace, your scientific computing stack. It handles derivation, verification, and provenance; raw symbolic computation and base formulas are delegated to SymPy-MCP.
When to use SymKit:
โ Deriving new formulas from existing ones
โ Building temperature/pressure/parameter-corrected models
โ Creating custom models for any quantitative domain
โ Producing verified, citable derivation results
When to use something else:
โ Looking up basic physics formulas โ use
sympy-mcpโ Fetching physical constants โ use
sympy-mcporSciPyโ Clinical scoring โ use
medical-calc-mcpโ Reading textbook formulas โ use the reference directly
๐ฆ Get started in 60 seconds
Requirements
Python 3.10+
An MCP-compatible client: Claude Desktop, Claude Code, Cherry Studio, โฆ
uv (recommended) or pip
Step 1 โ Install SymKit
Pick one of the three install paths below. Each produces a runnable
symkit-mcp command you point your MCP client at in Step 3.
Option A โ uv (recommended)
uv is a fast Python package manager. Install
SymKit as an isolated global CLI tool โ no virtualenv to manage, no clashes
with your system Python:
# 1. Install uv itself (if you don't have it yet)
# macOS / Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell):
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# 2. Install SymKit as a global CLI tool
uv tool install symkit-mcp
# 3. Verify it's on your PATH
symkit-mcp --versionuv tool install places a symkit-mcp entry point on your PATH. Upgrade later
with uv tool upgrade symkit-mcp, and uninstall with uv tool uninstall symkit-mcp.
No-install alternative:
uvx symkit-mcpruns the latest published release on the fly, caching it behind the scenes. Useful for one-off runs or for the MCP client config in Step 3 โ nouv tool installrequired.
Option B โ pip
# Install
pip install symkit-mcp
# Verify
symkit-mcp --versionPrefer pipx (pipx install symkit-mcp) if
you want each CLI tool in its own isolated environment.
Option C โ From source (development or unreleased changes)
git clone https://github.com/LBurny/symkit-mcp.git
cd symkit-mcp
# Install the project + dev/test extras into a local .venv
uv sync --all-extras
# Run the server straight from the checkout โ no install step needed
uv run symkit-mcpuv run executes against the local source tree, so you can edit and re-run
immediately. Pull the latest deps after changing pyproject.toml with
uv sync.
Step 2 โ Where data lives
After install, SymKit stores runtime data in a per-user directory (resolved via
platformdirs): derived formulas and session JSONs persist under
~/.local/share/symkit/ (Linux), %LOCALAPPDATA%\symkit (Windows), or
~/Library/Application Support/symkit (macOS). Set the SYMKIT_DATA_DIR
environment variable to override this location. Seed formulas (Reynolds number,
Navier-Stokes, โฆ) ship read-only inside the package; user-added formulas via
formula_add are written to the writable overlay and override seeds by id.
Step 3 โ Connect to your client
SymKit speaks MCP over stdio, so the same server works with every MCP-compatible client. Below is the JSON config for Claude Desktop and Cherry Studio.
Claude Desktop / Cherry Studio (JSON config)
Add an mcpServers entry to your client's config file (claude_desktop_config.json
for Claude Desktop; the equivalent settings panel for Cherry Studio).
Installed via uv tool / pip / pipx (the symkit-mcp command is on PATH):
{
"mcpServers": {
"symkit": {
"command": "symkit-mcp",
"args": []
}
}
}Run on the fly without installing (uvx pulls and caches the latest release):
{
"mcpServers": {
"symkit": {
"command": "uvx",
"args": ["symkit-mcp"]
}
}
}Running from a local source checkout (no install needed):
{
"mcpServers": {
"symkit": {
"command": "uv",
"args": [
"run",
"--no-sync",
"--directory",
"<your-local-symkit-mcp-path>",
"python",
"-m",
"symkit_mcp.server"
]
}
}
}Replace <your-local-symkit-mcp-path> with the absolute path to your local
symkit-mcp clone. --no-sync skips dependency resolution on every launch;
run uv sync manually when dependencies change.
Windows PATH gotcha: if Claude Desktop fails to launch the server with a "command not found" error, the app's process PATH may not include your
Scripts/or uv tool directory. Switch thecommandto an absolute path, e.g."C:/Users/you/AppData/Local/uv/tools/symkit-mcp/Scripts/symkit-mcp.exe".
๐๏ธ Clean architecture, built to extend
symkit-mcp/
โโโ src/
โ โโโ symkit/ # Pure domain logic (no MCP dependency)
โ โ โโโ domain/ # Entities, value objects, derivation engine
โ โ โโโ application/ # Use cases
โ โ โโโ infrastructure/ # SymPy engine, adapters, persistence
โ โโโ symkit_mcp/ # MCP server layer
โ โโโ server.py
โ โโโ tools/ # 41 MCP tools
โโโ formulas/ # Seed formula library (source tree)
โโโ tests/ # 295 tests
โโโ pyproject.tomlDomain-driven design โ core logic is independent of MCP and SymPy.
Pluggable engines โ swap the symbolic engine or verifier via protocols.
File-based persistence โ formulas and sessions live in readable Markdown/YAML/JSON.
๐งช Development
# Run the full test suite
uv run pytest
# Lint and type check
uv run ruff check src/ tests/
uv run mypy src/
# Start the dev server
uv run symkit-mcp๐ Learn more
Architecture โ DDD layering and responsibilities
SymKit Design โ In-depth technical design (English)
SymKit Design (ไธญๆ) โ ไธญๆ่ฎพ่ฎกๆๆกฃ
SymKit vs SymPy-MCP โ Capability comparison
Roadmap โ What's coming next
๐ Acknowledgments
SymKit is built on the foundation of nsforge-mcp, which pioneered the neurosymbolic formula-derivation approach. The original Chinese README of nsforge-mcp can be found here.
SymKit works alongside sympy-mcp, which provides the underlying SymPy-based symbolic computation and base formula lookup that SymKit builds upon.
๐ License
Apache 2.0 โ see LICENSE.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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/LBurny/symkit-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server