lingshu-solver
영수 솔버 · Lingshu Solver
≤6차원 결정적 실수 방정식군 해석 엔진 · AI 에이전트와 일반 사용자를 위한 MCP 도구
영수 솔버(코드명 Epsilon, V4.1)는 오프라인, 결정적, 제로 데이터 실수 방정식군 해석기로, ≤6개 변수, 실수 해, 경량 수치 탐색을 다룹니다. 사용자에게 초기값을 요구하지 않으며, 구간 산술로 보수적 축소 + Krawczyk 연산자로 해 인증을 수행하고, 다중 해를 최대한 철저히 탐색합니다.
🚀 빠른 시작(30초)
기술을 전혀 모른다면 — 웹 버전을 바로 사용하세요
이 링크를 열면 바로 사용할 수 있습니다. 아무것도 설치할 필요 없습니다: 👉 https://genesis-plan.github.io/lingshu-solver/ (GitHub Pages, 해외/범용)
국내 사용자(더 빠름, Tencent Cloud COS 호스팅): 👉 https://hclj-1409755229.cos.ap-guangzhou.myqcloud.com/lingshu-solver/index.html
입력란에 방정식을 쓰고(예: x^2 + y^2 = 25 및 x + y = 7), 풀기 버튼을 누르면 됩니다.
페이지에 6개의 예시 버튼이 있으니, 눌러보면 무엇을 풀 수 있는지 알 수 있습니다.
AI 사용자라면 (Claude / Cursor / Cline 등)
방식 A · 원격 호스팅(설치 없음, 인증 없이 즉시 사용) 상시 운영되는 공용 서비스를 배포했습니다. URL만 입력하면 되며, 로컬에 Node를 설치할 필요가 없습니다:
{
"mcpServers": {
"lingshu-solver": {
"url": "http://159.75.154.206:3000/mcp"
}
}
}엔드포인트:
http://159.75.154.206:3000/mcp(Streamable HTTP). 서비스는 Tencent Cloud 경량 서버에서 실행되며, 부팅 시 자동 시작, 크래시 시 자동 재기동됩니다. ⚠️ 현재는 베어 IP + HTTP 임시 엔드포인트이며,hongchenlingjing.comICP 비안(备案) 통과 후https://hongchenlingjing.com/mcp고정 HTTPS 도메인으로 전환할 예정입니다(그때 이곳을 업데이트). 이 임시 엔드포인트는 연동 테스트에 사용할 수 있으며, Smithery 등 HTTPS가 필요한 플랫폼은 비안 완료 후 정식으로 연동됩니다.
방식 B · 로컬 stdio(로컬 Node 필요)
{
"mcpServers": {
"lingshu-solver": {
"command": "npx",
"args": ["-y", "lingshu-solver"]
}
}
}
npx버전은 본 패키지가 npm에 게시된 후에 사용할 수 있습니다(처리 중). 그 전에는git clone후 방식 C를 사용하세요.
방식 C · 로컬 clone + 경로 지정
git clone https://github.com/genesis-plan/lingshu-solver.git
cd lingshu-solver
node mcp-server.jsMCP 구성:
{ "mcpServers": { "lingshu-solver": { "command": "node", "args": ["本地绝对路径/灵数求解器/mcp-server.js"] } } }개발자라면
git clone https://github.com/genesis-plan/lingshu-solver.git
cd lingshu-solver
node mcp-server.js # 启动 MCP 服务端
node test/regression.js # 跑回归测试(28 用例)본 저장소에는 다음이 포함됩니다:
index.html— 단일 파일 제품(브라우저 내 UI + 검증된 핵심 스크립트<script id="solver-core">)solver-core.js— Node 엔진 로더(index.html 핵심 스크립트를 읽음, 제로 의존성, MCP/테스트 재사용용)mcp-server.js— 제로 의존성 MCP stdio 서버(수동 JSON-RPC 2.0 + Content-Length 프레이밍)package.json— 표준 메타데이터,npx lingshu-solver한 줄로 연동test/— 회귀 테스트 스위트 + 스모크 테스트 + 3세트 상시 시험지
Related MCP server: Math MCP Server
기능 경계(정직한 선언)
차원 | 설명 |
검증된 해 | 발견된 각 해는 Krawczyk 인증을 거침( |
철저성 | 다중 해를 최대한 철저히 탐색; 극단적 병리(야코비안 고도 특이, 해군집 극도 근접)는 예산 내에서 일부 해를 놓칠 수 있으며, 이때 명시적으로 |
| 단지 「전역 분기가 예산 내에서 모든 박스를 완전히 판정하지 못함(철저함을 증명할 수 없음)」을 의미하며, 반드시 누락을 의미하지는 않음; 대부분의 경우 모든 실제 해가 이미 발견됨 |
변수 수 | ≤6 |
수치 범위 | 기본 탐색 영역 ±1e6; 급증 함수(exp/sinh) 또는 큰 영역에서는 가지치기 실패를 피하기 위해 |
결정성 | 무작위 분기 없음, 동일 입력은 항상 동일 출력 |
배포 | 순수 로컬, 오프라인, 제로 데이터(네트워크 없음, 저장 없음, 제3자 의존성 없음) |
보장하지 않음: 모든 입력에 대해 100% 철저 탐색; 고도 병리 시스템이 예산 내에서 반드시 수렴. 이것들은 정직한 경계이지 결함이 아닙니다.
MCP 도구로 사용
1. 세 가지 연동 형태
형태 | 엔드포인트 / 명령 | 적용 |
원격 HTTP(운영 중) |
| Streamable HTTP를 지원하는 모든 MCP 클라이언트, 설치 없음 |
로컬 stdio(npx) |
| 로컬에 Node 설치됨, npm 게시 후 사용 가능 |
로컬 stdio(clone) |
| 개발자 / 오프라인 자체 호스팅 |
원격 HTTP 서버 코드: http-mcp-server.js(제로 의존성, Node 내장 모듈만 사용; mcp-server.js와 solver-core.js 해석 코어를 공유하여 결과가 동일 소스로 일치). 원격 서비스를 자체 호스팅하려면:
PORT=3000 node http-mcp-server.js2. MCP 클라이언트(Claude Desktop / Cursor / Cline / VS Code 등)에서 구성
권장 · 원격 호스팅(설치 없음, 운영 중):
{
"mcpServers": {
"lingshu-solver": {
"url": "http://159.75.154.206:3000/mcp"
}
}
}로컬 stdio · 한 줄 명령(npm 게시 필요, 아직 미게시; 현재는 clone 버전 사용):
{
"mcpServers": {
"lingshu-solver": {
"command": "npx",
"args": ["-y", "lingshu-solver"]
}
}
}참고:
npx lingshu-solver는 본 패키지가 npm에 게시된 후에 사용할 수 있으며, 현재 처리 중입니다. 그 전에는 아래 「로컬 경로 수동 지정」 버전을 사용하세요(먼저 clone).
대안 · 로컬 경로 수동 지정(저장소를 이미 clone한 경우):
{
"mcpServers": {
"lingshu-solver": {
"command": "node",
"args": ["把这里替换成你本地的绝对路径/灵数求解器/mcp-server.js"]
}
}
}수동 버전은
args의 경로를 본인 컴퓨터의mcp-server.js절대 경로로 바꿔야 합니다(예:C:/Users/사용자명/Desktop/영수 솔버/mcp-server.js). npx 버전은 이 단계가 필요 없습니다.
도구 1: solve
입력:
{
"equations": ["x^2 + y^2 = 25", "x + y = 7"],
"variables": ["x", "y"],
"domain": { "x": [-30, 30], "y": [-30, 30] }
}equations: 방정식 문자열 배열(필수),+ - * / ^ sqrt log sin cos tan exp abs지원, 텍스트 내 영역 제약"x ∈ [-30,30]"지원.variables: 변수명 배열(선택, 미입력 시 등장 순서대로 자동 인식, 최대 6개).domain: 명시적 탐색 영역(선택). 「유한해·일부」 데모 또는 급증 함수에는 지정을 권장, 그렇지 않으면 기본 ±1e6에서 가지치기가 실패하여truncated가 발생할 수 있습니다.
출력 정밀도는 소수점 6자리 고정(제품 사양 「6자리 소수 유한 그리드」), 자릿수 전환은 제공하지 않음; 해점
values는 그리드에 흡착되며, 실제 잔차는 일반적으로 ≤ 1e-9.
출력(발췌):
{
"resultType": 2,
"resultTypeName": "finite",
"certified": true,
"truncated": false,
"precisionDecimals": 6,
"solutionCount": 2,
"recommended": { "values": [3, 4], "tier": "proven", "residual": 0 },
"solutions": [ { "values": [3, 4], "tier": "proven", "residual": 0 }, ... ],
"warnings": []
}resultType:1=empty(해 없음)/2=finite(유한해)/3=infinite(무한 해집합, 원점에서 가장 가까운 권장 해만 제공).tier:proven(Krawczyk 인증) /candidate(미인증이지만 해일 가능) /structural(구조 추론).
도구 2: give_feedback
AI 에이전트가 막힘/오류/의심 문제를 만나면 능동적으로 보고하며, 로컬 feedback.log에만 기록되고 외부로 전송되지 않습니다:
{ "name": "give_feedback", "arguments": { "message": "x^2=4 期望2解", "context": "批量求解场景" } }로컬 검증
node verify_core.js # 引擎加载 + 6 个代表性用例
node mcp_smoke.js # MCP 字节级冒烟(initialize/tools/list/tools/call)
node mcp_smoke2.js # give_feedback + 错误结构化(不泄露堆栈)
node test/regression.js # 三套常驻考卷回归(28 用例,known 命中率统计)예시(6가지 결과 유형 커버)
제목 | 방정식 | 예상 |
최소 1변수 |
| 2해 |
최대 6변수 | 6원 삼대각 선형 | 유일해 |
공집합 무해 |
| 공집합(sound 무해 증명) |
유한해·전체 | 원 × 쌍곡선 | 4해 전부 인증 |
유한해·일부 |
| 다중 해 + |
무한해·권장 |
| 무한 집합, 권장 (1.5,1.5) |
문서
《영수 솔버_코드 흐름 중국어 설명.md》 — 파싱부터 출력까지의 완전한 내부 흐름(수학 배경 독자 대상)
《영수 솔버 상업화 전략 백서.md》 — 포지셔닝, 기능 경계, 리스크
발명 특허 출원서 시리즈(제출 완료)
라이선스
Apache License 2.0 — LICENSE 참조.
Available Tools
4 toolsgive_feedbackAInspect
Report a problem to the operator when solve hits a dead end, returns an error, or produces something you believe is wrong. The text is written to a local log only and is never transmitted anywhere else.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | Optional context: the triggering scenario or input characteristics. | |
| message | Yes | What you hit, what you expected, and what you actually got. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and discloses the key side effect: text is written to a local log only and never transmitted elsewhere. It does not cover log location, permissions, or return behavior, but the critical data-handling trait is stated.
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 two efficient sentences. The primary purpose and trigger conditions are front-loaded, and the second sentence adds essential behavioral context without waste.
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 two-parameter feedback tool with no output schema and no annotations, the description covers purpose, usage triggers, and data handling adequately. It could be slightly more complete by clarifying whether feedback should also be given when verify finds issues, but the core context is 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 description coverage is 100%, and the schema already documents both context and message thoroughly. The description adds no parameter-specific syntax, format, or constraints beyond what the schema provides, so the baseline of 3 is appropriate.
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 states a specific verb and target: reporting a problem to the operator. It also specifies the exact triggering conditions tied to the sibling tool solve, making it easy to distinguish from computational siblings like solve, verify, and poly_roots.
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?
It clearly says when to use the tool: when solve hits a dead end, returns an error, or produces something believed wrong. It does not state when not to use it or name explicit alternatives, but the contextual guidance is strong and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
poly_rootsAInspect
All real roots of a polynomial, each individually certified by Krawczyk with a strict error box. Coefficients are ordered highest degree first, so [1,-2,-5,6] means x^3-2x^2-5x+6. Deterministic and reproducible; complex roots are not returned (real numbers only). Use it as a reliable polynomial root component instead of letting a general language model estimate roots. Free to use: pass honorPaid:true to declare personal or evaluation use.
| Name | Required | Description | Default |
|---|---|---|---|
| tolerance | No | Tolerance used to decide a root (optional; internal precision is used by default). | |
| coefficients | Yes | Polynomial coefficients, highest degree first. [1,-2,-5,6] means x^3-2x^2-5x+6. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full load and does well: it discloses determinism/reproducibility, the Krawczyk certification with strict error boxes, exclusion of complex roots, and the honorPaid licensing declaration. It omits failure behavior for malformed or non-polynomial input and does not explain that honorPaid is not present in the declared input schema, which is a notable gap.
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?
Front-loaded with the core purpose and scope, then the coefficient-ordering convention and the licensing note. Four sentences with little waste, though the honorPaid sentence is longer than the information warrants.
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?
No output schema exists, so the description must cover returns; it explains the certificate and error box but not the shape of the result (list of roots? objects with bounds?). It also never reconciles the honorPaid parameter with a schema that lacks it, leaving the agent unsure how to satisfy the licensing requirement.
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 the schema already documents coefficients ordering and tolerance defaults, so the description's repetition of the [1,-2,-5,6] example adds no new meaning. The only novel parameter information is honorPaid, which is not in the schema at all, creating ambiguity rather than usable semantics.
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?
States a specific verb and resource – returning all real roots of a polynomial – plus the scope qualifier that complex roots are excluded and roots are certified by Krawczyk with a strict error box. It does not explicitly compare itself to siblings like solve or verify, so an agent still has to infer the boundary between this and a general solver.
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?
It advises use 'instead of letting a general language model estimate roots', which implies when to reach for it, but gives no when-not guidance and never names the sibling solve/verify tools it should be preferred over or combined with. Requirements and prerequisites for input are not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
solveAInspect
Deterministic solver for systems of real equations. This is not a language model: no randomness, and identical input always returns an identical, reproducible result. Use it when you need a verifiable, reproducible numeric answer for algebraic equations or common transcendentals (sin/cos/tan/log/exp/sqrt/abs); it works well as a non-hallucinating math backend for an AI agent. Not suitable for symbolic algebra, closed-form proofs, initial-value ODEs, or mandatory integer equality. INPUT: equations (array of strings containing an equals sign, e.g. ["x^2+y^2=25","x+y=7"]); supported operators + - * / ^ sqrt log sin cos tan exp abs, with in-text domain constraints such as x in [-30,30]; variables (optional, auto-detected, max 6); domain (optional, e.g. {"x":[-30,30]}), defaulting to +/-1e6 per variable. HARD LIMITS: at most 6 variables; 1 to 64 equations and the equation count must be at least the variable count; up to 100KB of equation text per call; output is fixed at 6 decimal places and is not configurable. OUTPUT (JSON): resultType is empty (no real solutions, proven), finite (finite verified solutions) or infinite (infinite solution set, only the recommended nearest-to-origin solution is given); summary; solutions[] with values[] (6-decimal numbers), tier (proven means Krawczyk-certified, otherwise likely or candidate), certified, text; residual and other internals under internals; recommended holds the compact nearest-to-origin structure. truncated=true means the global branch-and-bound did not finish inside the budget; it does not necessarily mean solutions were missed and in most cases every real solution was found; narrow the domain or raise options.budget and retry if you need a completeness guarantee. Errors return error.type (invalid_input or internal_error). If something looks wrong, call give_feedback rather than guessing. The same input always produces the exact same output, so caching and retries are safe. PAYMENT: this endpoint is free to use. Pass honorPaid:true to declare personal or evaluation use and the call is served with no verification and no balance deduction; payment is voluntary and never enforced.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | No | Explicit search domain (optional), e.g. {"x":[-30,30],"y":[-30,30]}. Recommended for near-infinite solution sets or fast-growing functions such as exp or sinh; without it the default +/-1e6 may fail to prune and set truncated. | |
| options | No | Advanced options (optional), e.g. {budget:500000, maxDepth:28} | |
| fastMode | No | Fast mode (default false). | |
| equations | Yes | Array of equation strings, e.g. ["x^2 + y^2 = 25", "x + y = 7"]. Supports + - * / ^ sqrt log sin cos tan exp abs, plus in-text domain constraints such as x in [-30,30]. | |
| variables | No | Variable names (optional). If omitted they are auto-detected from the equation text, in order of appearance. Maximum 6. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries full burden and does so richly: determinism/reproducibility ('identical input always returns an identical output, so caching and retries are safe'), hard limits, error taxonomy (invalid_input/internal_error), truncated semantics, and payment behavior. This is exactly the behavioral disclosure a mutation-free but complex tool needs.
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?
Front-loaded with purpose, then INPUT/HARD LIMITS/OUTPUT/PAYMENT headers that make scanning easy; each block is substantive rather than filler. It is long, and the OUTPUT block is verbose because no output schema exists, but the payment paragraph is the only portion that could be trimmed.
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?
With no output schema and nested options/domain objects, the description supplies the return contract itself (resultType enum, solutions[].tier/certified, truncated, error.type), so an agent knows what it will get back. Nothing material is missing for correct invocation or interpretation.
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 already 100%, so the schema handles per-parameter meaning; the description still adds constraints the schema does not encode (max 6 variables, 1-64 equations, equation count >= variable count, 100KB cap, 6-decimal fixed output, domain defaulting to +/1e6). It stops short of explaining options.budget/maxDepth or fastMode, which the schema also leaves thin.
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?
States a specific verb+resource ('deterministic solver for systems of real equations') and immediately separates itself from siblings by naming what it is not: not symbolic algebra, not an ODE solver, not a language model. An agent can distinguish it from poly_roots/verify without opening any schema.
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 frames when to use it ('verifiable, reproducible numeric answer for algebraic equations or common transcendentals') and when not ('Not suitable for symbolic algebra, closed-form proofs, initial-value ODEs, or mandatory integer equality'), plus it routes failures to give_feedback. This is the full when/when-not/alternative pattern.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verifyAInspect
Check whether a claimed answer is correct. Give the equation plus a candidate value (a number for a single variable, {variable:value} pairs, or an array in variable order); the same certified kernel runs in a neighbourhood around the candidate. If a matching certified root is found the result is verified together with the error box; otherwise it is refuted and the nearest certified root is returned, so the calling agent immediately sees the correct value. Deterministic, not an LLM, reproducible across calls. Free to use: pass honorPaid:true to declare personal or evaluation use.
| Name | Required | Description | Default |
|---|---|---|---|
| equation | Yes | A single equation containing an equals sign, e.g. "x^2 = 4". | |
| candidate | Yes | The claimed answer: a number (single variable, default variable x), {variable:value} for multiple variables, or an array in variables order. | |
| tolerance | No | Neighbourhood radius (optional, default 1e-3) within which a matching certified root is searched. | |
| variables | No | Variable names (required for multiple variables or array candidates), e.g. ["x","y"]. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden, and it does well: it discloses the certified-kernel neighbourhood search, determinism and reproducibility, the refutation branch returning the nearest certified root, and a pricing/usage declaration via honorPaid. It omits failure modes such as malformed equation or non-convergence behaviour.
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 core behaviour and input forms are front-loaded in the first two sentences, and every sentence carries information. It runs slightly long, with the honorPaid pricing clause appended as a trailing sentence that is easy to skim past.
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 4-parameter tool with no annotations and no output schema, the description covers both outcomes (verified with error box vs refuted with nearest certified root) so the agent knows what it will receive. It stops short of describing invalid-input or timeout behaviour, which is a minor gap.
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%, so baseline is 3, but the description adds meaning beyond the schema by explaining that the candidate is evaluated within a neighbourhood of the supplied value ('the same certified kernel runs in a neighbourhood around the candidate'), which contextualises what tolerance actually does.
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?
States a specific verb and object ('Check whether a claimed answer is correct') and frames the tool as a verifier of a supplied candidate rather than a solver, which cleanly separates it from siblings solve and poly_roots. An agent can select it without opening the schema.
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?
Gives clear context for use: supply an equation plus a candidate value, and the tool certifies or refutes it. It does not explicitly say when not to use it (e.g. use solve/poly_roots when no candidate exists), so routing to alternatives is left to inference.
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.
4 tool updates
v1.0.22- Changed
give_feedback2 fields changed- changed
Input schema / properties / context / descriptionPrevious value: -"可选上下文:触发场景、输入特征等。"New value: +"Optional context: the triggering scenario or input characteristics." - changed
Input schema / properties / message / descriptionPrevious value: -"反馈内容:遇到了什么、期望什么、实际得到什么。"New value: +"What you hit, what you expected, and what you actually got."
- Changed
poly_roots2 fields changed- changed
Input schema / properties / coefficients / descriptionPrevious value: -"多项式系数,最高次在前。如 [1,-2,-5,6] 对应 x³−2x²−5x+6。"New value: +"Polynomial coefficients, highest degree first. [1,-2,-5,6] means x^3-2x^2-5x+6." - changed
Input schema / properties / tolerance / descriptionPrevious value: -"根的判定容差(可选,默认内部精度)"New value: +"Tolerance used to decide a root (optional; internal precision is used by default)."
- Changed
solve5 fields changed- changed
Input schema / properties / domain / descriptionPrevious value: -"显式搜索域(可选)。形如 {\"x\":[-30,30],\"y\":[-30,30]}。对\"有限解·部分\"演示或快增长函数(exp/sinh)建议显式给定,否则默认 ±1e6 可能剪枝失效并触发 truncated。"New value: +"Explicit search domain (optional), e.g. {\"x\":[-30,30],\"y\":[-30,30]}. Recommended for near-infinite solution sets or fast-growing functions such as exp or sinh; without it the default +/-1e6 may fail to prune and set truncated." - changed
Input schema / properties / equations / descriptionPrevious value: -"方程字符串数组,如 [\"x^2 + y^2 = 25\", \"x + y = 7\"]。支持 + - * / ^ sqrt log sin cos tan exp abs,以及 in-text 域约束 \"x ∈ [-30,30]\"。"New value: +"Array of equation strings, e.g. [\"x^2 + y^2 = 25\", \"x + y = 7\"]. Supports + - * / ^ sqrt log sin cos tan exp abs, plus in-text domain constraints such as x in [-30,30]." - changed
Input schema / properties / fastMode / descriptionPrevious value: -"快速模式(默认 false)"New value: +"Fast mode (default false)." - changed
Input schema / properties / options / descriptionPrevious value: -"高级选项(可选),如 {budget:500000, maxDepth:28}"New value: +"Advanced options (optional), e.g. {budget:500000, maxDepth:28}" - changed
Input schema / properties / variables / descriptionPrevious value: -"变量名数组(可选)。不填则由方程文本自动识别,顺序按出现。最多 6 个。"New value: +"Variable names (optional). If omitted they are auto-detected from the equation text, in order of appearance. Maximum 6."
- Changed
verify4 fields changed- changed
Input schema / properties / candidate / descriptionPrevious value: -"声称的答案:数字(单变量,默认变量 x)、{变量:值}(多变量)、或按 variables 顺序的数组。"New value: +"The claimed answer: a number (single variable, default variable x), {variable:value} for multiple variables, or an array in variables order." - changed
Input schema / properties / equation / descriptionPrevious value: -"含 \"=\" 的方程,如 \"x^2 = 4\"。"New value: +"A single equation containing an equals sign, e.g. \"x^2 = 4\"." - changed
Input schema / properties / tolerance / descriptionPrevious value: -"邻域半径(可选,默认 1e-3),在该邻域内寻找匹配的认证根。"New value: +"Neighbourhood radius (optional, default 1e-3) within which a matching certified root is searched." - changed
Input schema / properties / variables / descriptionPrevious value: -"变量名(多变量或数组候选时必填),如 [\"x\",\"y\"]。"New value: +"Variable names (required for multiple variables or array candidates), e.g. [\"x\",\"y\"]."
2 tool updates
v1.0.15- Added
poly_roots - Added
verify
2 tool updates
v1.0.2- First observed
give_feedback - First observed
solve
TDQS
Scored across 4 tools
solve, poly_roots, verify, and give_feedback mostly have distinct roles: solving systems, finding polynomial roots, validating candidate answers, and reporting issues. However, solve and poly_roots can overlap for single polynomial equations, so an agent may occasionally hesitate between them.
Names are readable and mostly snake_case, but they mix patterns: solve and verify are simple verbs, give_feedback is verb_noun, and poly_roots is a noun. The set lacks a single predictable naming convention.
Four tools is well-scoped for a deterministic math solver with verification and feedback. Each tool appears to earn its place, and there is no obvious bloat or thinness.
The surface covers solving equations, polynomial roots, verifying claimed answers, and reporting problems, which matches the core numeric-solver domain. Minor gaps exist around explicit configuration/help tooling, but solve already exposes relevant options in its input.
Maintenance
Related MCP Connectors
Deterministic engineering solvers: biquad filter design, room eigenmodes, LLM VRAM fit.
Precision math engine for AI agents. 203 exact methods. Zero hallucination.
Deterministic signed verification of numeric & financial claims for AI agents & spreadsheets.
Certified program synthesis. Pay per call in USDC via x402; refusals never billed.
11
Related MCP Servers
- AlicenseAqualityCmaintenanceProvides 21 mathematical tools across 6 domains including basic calculations, array operations, statistics, financial mathematics, linear algebra, and calculus. Supports batch execution for complex multi-step workflows with intelligent dependency resolution.216MIT
- AlicenseBqualityAmaintenanceProvides secure mathematical computation capabilities including expression evaluation, symbolic math (derivatives, simplification), matrix operations, statistics, and unit conversion, with multi-tier acceleration through WebAssembly and WebWorkers for high-performance calculations.784 npmISC
- AlicenseAqualityBmaintenanceEnables reliable engineering and scientific computation through tools for exact arithmetic, unit-aware formulas, calculus, linear algebra, statistics, uncertainty propagation, and physical constants, all executed safely in reproducible subprocesses.8MIT
- AlicenseNot gradedqualityCmaintenanceProvides deterministic tools for symbolic math, equation solving, relation verification, reasoning structure audits, and validated CAD primitives, returning evidence artifacts for every result.MIT