Skip to main content
Glama
Skywalker-Harrison

Soduku Solver MCP Server

sodukusolver MCP 服务器

MCP 服务器项目

成分

资源

服务器实现了一个简单的笔记存储系统,其中包括:

  • 用于访问单个笔记的自定义 note:// URI 方案

  • 每个笔记资源都有一个名称、描述和文本/纯文本 mimetype

提示

服务器提供一个提示:

  • 总结笔记:创建所有存储笔记的摘要

    • 可选的“样式”参数用于控制详细程度(简要/详细)

    • 生成提示,结合所有当前注释和样式偏好

工具

服务器实现了一个工具:

  • add-note:向服务器添加新注释

    • 将“名称”和“内容”作为必需的字符串参数

    • 更新服务器状态并通知客户端资源变化

Related MCP server: RAGandLLM-MCP

配置

[TODO:添加特定于您的实现的配置详细信息]

快速入门

安装

克劳德桌面

在 MacOS 上: ~/Library/Application\ Support/Claude/claude_desktop_config.json在 Windows 上: %APPDATA%/Claude/claude_desktop_config.json

发展

构建和发布

准备分发包:

  1. 同步依赖项并更新锁文件:

uv sync
  1. 构建软件包分发版:

uv build

这将在dist/目录中创建源和轮子分布。

  1. 发布到 PyPI:

uv publish

注意:您需要通过环境变量或命令标志设置 PyPI 凭据:

  • 令牌: --tokenUV_PUBLISH_TOKEN

  • 或用户名/密码: --username / UV_PUBLISH_USERNAME--password / UV_PUBLISH_PASSWORD

调试

由于 MCP 服务器通过 stdio 运行,调试起来可能比较困难。为了获得最佳调试体验,我们强烈建议使用MCP Inspector

您可以使用以下命令通过npm启动 MCP Inspector:

npx @modelcontextprotocol/inspector uv --directory /Users/harrisonliang/research/fun/soduku run sodukusolver

启动后,检查器将显示一个 URL,您可以在浏览器中访问该 URL 以开始调试。

Available Tools

4 tools
add-noteC

Add a new note

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
contentYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'Add a new note' and provides no details on side effects, permissions, return values, or error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with no wasted words, making it concise and front-loaded. However, it is under-specified for the tool's complexity, though this is largely a completeness issue rather than a conciseness issue.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations, output schema, and parameter descriptions, a five-word description is insufficient for an agent to invoke the tool correctly. The meaning of the parameters and expected return behavior remain ambiguous.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero description coverage for the two required parameters ('name' and 'content'), and the description does not explain their meaning or format. The agent cannot infer what 'name' or 'content' represent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Add') and a specific resource ('note'), clearly stating the tool's function. It differentiates itself from the sibling 'get_report', which is a read operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description only states the action without any context about when to invoke it or when to choose a sibling tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

add-sudokuC

Add a new Sudoku puzzle

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
puzzleYesThe Sudoku puzzle in text format

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but only states the action ('Add') without disclosing behavioral traits. It doesn't mention whether this is a write operation, what permissions are needed, how errors are handled, or what happens on success, leaving critical behavioral aspects unspecified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero wasted words, making it easy to parse and front-loaded with the core action. It appropriately sized for a simple tool without over-explaining.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and incomplete schema coverage (50%), the description is inadequate. It doesn't compensate for the lack of structured data by explaining what the tool returns, error conditions, or behavioral context, leaving significant gaps for a mutation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50% (only 'puzzle' has a description), and the description adds no parameter details beyond what the schema provides. It implies parameters for name and puzzle but doesn't explain their semantics, formats, or constraints, resulting in minimal added value over the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Add') and resource ('a new Sudoku puzzle'), making the purpose immediately understandable. It doesn't differentiate from sibling tools like 'add-note' or 'solve-sudoku', but the specific mention of 'Sudoku puzzle' provides adequate clarity for the domain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'solve-sudoku' or 'add-note'. The description lacks context about prerequisites, such as whether this is for creating puzzles versus solving them, leaving the agent to infer usage from tool names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

solve-sudokuC

Solve a Sudoku puzzle

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the puzzle to solve

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool solves puzzles but does not describe how (e.g., algorithm, constraints), what happens on success/failure, or any side effects (e.g., whether it modifies stored data). This leaves significant gaps in understanding the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words, making it front-loaded and easy to parse. However, it is overly concise, bordering on under-specification, as it omits necessary context for effective use, slightly reducing its utility.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (solving a puzzle), lack of annotations, no output schema, and incomplete behavioral transparency, the description is insufficient. It does not explain what the tool returns (e.g., solved puzzle, success status) or how it interacts with siblings, leaving the agent with incomplete information for reliable use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the parameter 'name' documented as 'Name of the puzzle to solve'. The description does not add meaning beyond this, such as explaining name format or referencing sibling tools. With high schema coverage, the baseline score of 3 is appropriate, as the schema handles parameter documentation adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Solve a Sudoku puzzle' clearly states the action (solve) and resource (Sudoku puzzle), making the purpose understandable. However, it lacks specificity about what constitutes a puzzle (e.g., a stored puzzle by name) and does not differentiate from sibling tools like 'solve-sudoku-text', leaving room for ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites (e.g., needing a puzzle stored via 'add-sudoku'), exclusions, or comparisons to siblings like 'solve-sudoku-text', leaving the agent to infer usage from context alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

solve-sudoku-textC

Solve a Sudoku puzzle from text input

ParametersJSON Schema
NameRequiredDescriptionDefault
puzzleYesThe Sudoku puzzle in text format

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. While 'solve' implies a computational operation, the description doesn't reveal any behavioral traits such as computational complexity, timeout risks, error handling, or what happens with invalid input. This leaves significant gaps for an agent to understand how the tool behaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (just 6 words) and front-loaded with the core purpose. Every word earns its place, with no wasted verbiage or structural issues.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the computational nature of Sudoku solving (which can involve complex algorithms and potential failures), the description is insufficient. With no annotations, no output schema, and minimal behavioral disclosure, an agent lacks crucial context about what the tool returns, how it handles edge cases, or what constitutes valid input beyond the basic parameter documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with the single parameter 'puzzle' clearly documented in the schema. The description adds no additional parameter semantics beyond what the schema already provides, so it meets the baseline for adequate but unenhanced parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('solve') and resource ('Sudoku puzzle from text input'), making it immediately understandable. However, it doesn't distinguish this tool from its sibling 'solve-sudoku', leaving some ambiguity about when to use each variant.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With a sibling tool named 'solve-sudoku' (without the '-text' suffix), there's clear ambiguity about which tool to choose for different scenarios, but the description offers no clarification.

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. 4 tool updates
    • First observedadd-note
    • First observedadd-sudoku
    • First observedsolve-sudoku
    • First observedsolve-sudoku-text

TDQS

C2.9/5.0

Scored across 4 tools

Disambiguation3/5

There is significant overlap between 'solve-sudoku' and 'solve-sudoku-text' as both solve puzzles, though the input method differs. 'add-note' and 'add-sudoku' are distinct, but the overall set has ambiguity in solving tools that could cause misselection.

Naming Consistency4/5

Tools follow a consistent verb-noun pattern with hyphens (e.g., add-note, solve-sudoku). All names are clear and readable, with only minor deviation in 'solve-sudoku-text' being slightly longer but still adhering to the pattern.

Tool Count4/5

Four tools are reasonable for a Sudoku solver server, covering core operations like adding puzzles and solving. It's slightly thin but functional, with no obvious bloat or extreme mismatch for the domain.

Completeness3/5

The server covers adding and solving puzzles, but lacks operations for managing or viewing existing puzzles (e.g., list, update, delete). This creates notable gaps that agents might need to work around, though basic solving workflows are supported.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    A simple MCP server that implements a note storage system allowing users to add and summarize notes with customizable detail levels.
    3
    -
  • F
    license
    C
    quality
    D
    maintenance
    A simple MCP server that implements a note storage system with RAG capabilities, allowing users to store notes and generate summaries of stored content.
    3
    -
  • F
    license
    A
    quality
    D
    maintenance
    A minimal MCP server demonstrating tools, resources, and prompts for managing notes, with a simple notes app that supports adding, listing, deleting notes and summarizing them.
    3
    1
    -