Muse Dash Mod MCP
Provides read-only access to GitHub, allowing search of MDMods repositories and retrieval of their text files for modding reference.
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., "@Muse Dash Mod MCPCreate a new mod project called MyMod"
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.
Muse Dash Mod MCP
一个面向 Muse Dash 模组开发的本地 MCP(Model Context Protocol)服务器,使用 Python + FastMCP 编写,任何支持本地 stdio MCP 传输的客户端都可以连接。
功能
项目脚手架:封装固定版本
MuseDash.Mod.Template 1.0.4,创建 C# / .NET 6 Muse Dash 模组项目开发知识库:提供 MelonLoader、Harmony、IL2CPP、MuseDashMirror、模板参数和构建部署文档
构建与部署:编译模组、诊断本机环境;明确调用
deploy_mod才会复制 DLL 到游戏Mods社区参考:只读检索 MDMods 仓库和源码文件
Related MCP server: MCP Server Creator
环境要求
Windows
Python 3.10+
.NET SDK 8(模板生成的项目目标为
net6.0)Muse Dash + MelonLoader 0.6.1
MD_DIRECTORY环境变量指向游戏目录,例如:
$env:MD_DIRECTORY = 'G:\Steam\steamapps\common\Muse Dash'服务器也会尝试探测常见 Steam 安装路径,并支持 MUSE_DASH_PATH 作为备用变量。
安装
cd C:\path\to\musedash-mod-mcp
.venv\Scripts\python.exe -m pip install -e .如果还没有虚拟环境:
python -m venv .venv
.venv\Scripts\python.exe -m pip install -e .可选:设置 GITHUB_TOKEN(或 GH_TOKEN)以提高 GitHub API 限额。
通用 MCP 启动方式
服务器使用标准本地 stdio transport。直接运行:
$env:PYTHONPATH = 'C:\path\to\musedash-mod-mcp\src'
C:\path\to\musedash-mod-mcp\.venv\Scripts\python.exe -m musedash_mod_mcp.server客户端配置通常包含以下字段:
command:Python 可执行文件的绝对路径args:["-m", "musedash_mod_mcp.server"]cwd:项目根目录env.PYTHONPATH:项目的src目录
不同客户端的配置文件和 JSON 外壳名称不同,请以对应客户端的 MCP 设置页面/文档为准。下面是常见客户端采用的配置对象示例:
{
"musedash-mod": {
"command": "C:\\path\\to\\musedash-mod-mcp\\.venv\\Scripts\\python.exe",
"args": ["-m", "musedash_mod_mcp.server"],
"cwd": "C:\\path\\to\\musedash-mod-mcp",
"env": {
"PYTHONPATH": "C:\\path\\to\\musedash-mod-mcp\\src"
}
}
}工具
工具 | 作用 |
| 创建模组项目并填充作者/版本元数据 |
| 隔离构建并返回 DLL、错误和日志;不会写入真实 Mods |
| 构建后显式、原子地复制主 DLL 到真实 Mods 目录 |
| 启动 MuseDash.exe(仅在用户明确要求时调用) |
| 检查游戏、MelonLoader、dotnet、模板和已安装 DLL |
| 列出内置文档主题 |
| 读取一个主题 |
| 搜索 MDMods 仓库 |
| 读取 MDMods 仓库中的文本文件 |
此外还提供 knowledge://musedash/{topic} resources 和 new_mod_workflow prompt。
本地测试
$env:PYTHONPATH = "$PWD\src"
.venv\Scripts\python.exe tests\smoke_test.py端到端测试建议使用临时输出目录。模板默认的空 Patches/Patch.cs 是示例占位符,若要直接编译空项目,请设置 patching=false,或先填写真实的 Harmony 目标类型和方法。
安全边界
search_mdmods_repos和get_mdmods_repo_file只读访问 GitHub。build_mod使用外部临时目录作为模板复制目标,并清除MD_DIRECTORY;它不是任意 MSBuild 项目的安全沙箱,仍应只构建可信项目。deploy_mod会覆盖 Mods 中同名 DLL,使用前应确认目标路径。launch_game会启动外部游戏进程,应在用户明确要求后调用。
Available Tools
9 toolsbuild_modB
Build a Muse Dash mod project and report generated DLLs and compiler errors.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | ||
| configuration | No | Release |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose that the tool reports generated DLLs and compiler errors, which implies that it compiles and writes files. However, it does not mention side effects like overwriting files, required environment/toolchain, or whether it modifies the project—leaving gaps in behavioral transparency.
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 of 14 words, front-loaded with the verb and object. Every word earns its place, with no redundancy or filler.
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?
The description covers the basic purpose and output but lacks crucial context for a build tool—such as expecting an existing project (from create_mod_project), potential side effects, or how the configuration parameter affects the build. Even with an output schema available, the description remains too minimal to be fully actionable.
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?
The schema has 0% description coverage, and the description does not mention either parameter. It adds no meaning to project_path or configuration beyond their names and types. This is a significant shortfall for a tool with two parameters, as the agent receives no guidance on how to set them.
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 clearly specifies the action ('Build') on a specific resource ('Muse Dash mod project') and states the output (generated DLLs and compiler errors). This distinguishes it from sibling tools like create_mod_project (scaffolding) and deploy_mod (deployment), making the purpose unmistakable.
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 provides no explicit guidance on when to use this tool versus alternatives, nor does it mention prerequisites or workflow order (e.g., 'run after create_mod_project' or 'before deploy_mod'). The usage context is only implied by the verb 'Build'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_mod_projectB
Create a C# Muse Dash mod using MuseDash.Mod.Template.
| Name | Required | Description | Default |
|---|---|---|---|
| author | No | ||
| setting | No | None | |
| version | No | 1.0.0 | |
| mod_name | Yes | ||
| patching | No | ||
| output_dir | No | ||
| useful_libs | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must explain behavior. It only says 'Create a C# Muse Dash mod' without disclosing side effects, required permissions, or what files/directories are produced. This leaves the agent unaware of potential overwrites or project structure.
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 with no unnecessary words. It is front-loaded with the main action and resource.
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 7 parameters, no annotations, and only a one-sentence description, the tool is underspecified. There is no information about return values, parameter relationships, or usage context, despite an output schema being present.
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?
The description does not mention any of the 7 parameters. The schema provides types and defaults, but ambiguous fields like 'setting' and 'useful_libs' remain unexplained, and the description adds no semantic context for them.
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 uses a specific verb 'Create' with a clear resource ('C# Muse Dash mod') and indicates the method ('using MuseDash.Mod.Template'). It clearly differs from sibling tools like build_mod and deploy_mod which imply compilation and deployment.
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 gives no explicit guidance on when to use this tool versus alternatives. The verb 'Create' suggests it is for new projects, but there is no mention of exclusions or comparisons to sibling tools such as build_mod or deploy_mod.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_modA
Build and explicitly copy the primary mod DLL into the game's Mods directory.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | ||
| configuration | No | Release |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosure. It explicitly mentions the copy operation, alerting the agent to a write action, but it does not disclose whether the copy overwrites existing files or if any prerequisites (e.g., a successful build) are required. This is a basic but not fully transparent behavior description.
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, efficient sentence that conveys both the build and copy actions. Every word earns its place, with no wasted text.
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?
The tool is fairly simple, and the description covers its main action, but it lacks context about potential side effects (e.g., overwriting existing DLLs) and prerequisites. Since an output schema exists, return values are covered elsewhere, but behavioral completeness would benefit from additional detail.
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%, so the description must compensate, but it does not mention either parameter. It gives no hint that project_path is the project directory or that configuration controls the build configuration, leaving the agent to guess from the schema alone.
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 clearly states the tool's function: building and explicitly copying the mod DLL into the Mods directory. It uses specific verbs (build, copy) and a resource (primary mod DLL), distinguishing it from siblings like build_mod, which likely only builds without deploying.
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 implies when to use this tool (for deploying the mod after building), but it does not explicitly contrast it with alternatives like build_mod or state when not to use it. The intended context is inferred rather than directly addressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_environment_infoA
Inspect MD_DIRECTORY, MelonLoader, dotnet, the template, and installed mod DLLs.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. 'Inspect' suggests read-only behavior, which is a positive signal, but the description does not explicitly state that it makes no changes, whether it has side effects, or any access requirements. While concise, it leaves some behavioral nuance unstated.
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, front-loaded sentence that lists all the key resources to inspect. Every word earns its place, and there is no redundancy or filler. It is appropriately sized for a zero-parameter tool.
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 low complexity (no parameters) and the presence of an output schema, the description sufficiently covers the main purpose. It names all relevant environment components, which is essential context. However, it could be slightly more complete by hinting at what type of information is returned (e.g., paths, versions), though the output schema likely covers that.
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?
The tool has zero parameters, so the description is not required to explain parameter semantics. The baseline score for 0 params is 4, and the description does not need to add anything beyond the schema, which is empty. It correctly focuses on what the tool inspects rather than parameters.
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 uses the specific verb 'Inspect' and clearly names five distinct resources (MD_DIRECTORY, MelonLoader, dotnet, template, installed mod DLLs), making its purpose unambiguous. It strongly distinguishes from sibling tools like create_mod_project, build_mod, and deploy_mod, which clearly perform different actions.
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 implies this is a diagnostic tool for checking the environment before or after other operations, but it offers no explicit guidance on when to use it instead of alternatives. The sibling tool names provide context, but the description itself does not state exclusions or preferred scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_mdmods_repo_fileB
Read a text file from an MDMods GitHub repository.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | README.md | |
| repo | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It does state that the tool reads text files (not binary) from MDMods repos, but provides no details about authentication, error handling, or side effects. The read-only nature is implied by the verb 'Read' but not explicitly stated beyond that.
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 with no redundant wording. It is front-loaded with the action and resource, making it efficient for a simple tool, though arguably under-specified.
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 simple tool, the description is adequate, but lacks context about path constraints, repo validity, and relationship to sibling tools. The output schema exists, so return values are covered elsewhere, but the description alone leaves gaps.
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?
The schema has no descriptions and the tool description does not elaborate on 'repo' or 'path.' It says 'text file' but does not clarify path format, repo identifier format, or how defaults work, so the agent must rely on parameter names alone.
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 specifies the action 'Read' and the resource 'a text file from an MDMods GitHub repository,' clearly distinguishing it from sibling tools like search_mdmods_repos and get_modding_doc. It provides a specific verb and resource.
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 does not mention when to use this tool or any alternatives. It simply states the action without context or exclusion criteria, leaving the agent without guidance on selecting it over siblings like get_modding_doc.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_modding_docA
Read one built-in documentation topic by its slug.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The verb 'Read' conveys that this is a non-mutating operation, which is important for safety. However, it does not disclose behavior on invalid slugs, error conditions, or whether the documentation is local or remote, leaving some ambiguity.
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: 'Read one built-in documentation topic by its slug.' It is front-loaded with the action and resource, and every word contributes to understanding. There is no superfluous content.
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?
While the tool is simple, the description is incomplete in an important context: it does not tell the agent how to discover valid slugs or mention the related list_modding_docs tool. An agent could be left guessing how to populate the 'topic' parameter correctly, making the description inadequate for fully autonomous use.
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?
The schema only defines a single string parameter 'topic' with no description. The description adds crucial meaning by stating the topic is identified 'by its slug', clarifying that the 'topic' parameter expects a slug value. This is sufficient for a single-parameter tool, though it lacks examples or guidance on valid slug formats.
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 clearly states the tool reads one built-in documentation topic by its slug. It uses a specific verb ('Read') and resource ('built-in documentation topic'), and the qualifier 'one' distinguishes it from sibling tool list_modding_docs, which presumably lists topics.
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?
No guidance is given on when to use this tool versus alternatives. It does not mention that a valid slug must first be obtained via list_modding_docs, nor does it explain when this tool is preferred over other documentation-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
launch_gameA
Launch MuseDash.exe for local mod testing without waiting for it to exit.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It usefully states that the launch does not wait for the process to exit, which is a key non-blocking trait. However, it does not mention possible error cases, whether a process handle is returned, or any side effects beyond launching the executable, leaving some transparency gaps.
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, well-structured sentence that front-loads the action ('Launch MuseDash.exe') and immediately gives the purpose ('for local mod testing') plus an important behavioral note. Every word earns its place.
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?
This is a simple tool with no parameters and an output schema, so the description does not need to explain return values. It adequately states the action, purpose, and non-blocking behavior. Minor details such as prerequisites or launch failure behavior are absent, but the tool's low complexity makes the description 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?
There are zero parameters, so the schema already fully covers parameter information. The description does not need to explain any parameters, and the baseline for 0-parameter tools is 4, which is appropriate here.
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 uses a specific verb 'Launch' with the resource 'MuseDash.exe' and scopes the purpose to 'local mod testing.' This clearly distinguishes it from sibling tools like create_mod_project, build_mod, and deploy_mod, which have different purposes.
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 phrase 'for local mod testing' gives clear context for when this tool is appropriate, contrasting with the build/deploy siblings. There are no explicit exclusions or alternative tool mentions, but the intended use is evident enough for a focused launcher tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_modding_docsA
List the built-in Muse Dash mod development documentation topics.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. 'List' implies a read-only operation, and 'built-in' indicates the docs are locally bundled. However, it does not disclose ordering, scope limits, or potential variations in the list, and the output format is left entirely to the output schema.
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 of ten words, front-loaded with the action verb 'List'. It is concise with no filler or redundancy.
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 zero-parameter list tool with an output schema, this description is complete. It fully conveys the tool's purpose and scope. The only possible enhancement would be an explicit reference to get_modding_doc, but that is more of a usage guideline than a requirement for invocation.
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?
The tool takes zero parameters, so the baseline for 0 params is 4. There is nothing to document beyond what the empty schema implies, so the description does not need to add parameter 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?
The description clearly states the action ('List') and the specific resource ('built-in Muse Dash mod development documentation topics'). It distinguishes itself from the sibling tool get_modding_doc (which fetches a specific doc) and from repo-related tools like search_mdmods_repos by emphasizing 'built-in'.
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 intended use is implied: to see available documentation topics before selecting one. However, there is no explicit guidance about when to use this tool over siblings, nor any mention of pairing it with get_modding_doc to fetch a specific topic.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_mdmods_reposB
Search read-only MDMods GitHub repository metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses a key behavioral trait ('read-only') and scopes the search to metadata, which adds value beyond no annotations. However, it lacks details on pagination, result format, or access limitations, leaving the agent with limited behavioral foresight.
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, front-loaded sentence with no wasted words. It effectively conveys the core action and scope.
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 search tool with an output schema, the description is minimal but omits critical usage guidance and parameter semantics. The presence of sibling tools like get_mdmods_repo_file further highlights the need for clearer differentiation and completion.
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?
With 0% schema description coverage, the description does not compensate for the lack of parameter explanations. It provides no details about what 'query' searches or how 'limit' is applied, leaving the agent to infer from names alone.
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 clearly states the tool searches read-only metadata for MDMods GitHub repositories, using a specific verb and resource. This distinguishes it from sibling tools like get_mdmods_repo_file and list_modding_docs.
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?
No explicit guidance is provided on when to use this tool versus alternatives. The read-only search intent is implied, but there is no mention of scenarios or exclusions relative to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a distinct purpose: creating a project, building, deploying, launching, inspecting the environment, searching repositories, reading files, and accessing docs. There is no overlap; even build_mod and deploy_mod are clearly separated by deploy's explicit copy-to-game-directory behavior.
All tool names follow a consistent verb_noun pattern in lowercase with underscores (create_mod_project, build_mod, deploy_mod, launch_game, get_environment_info, search_mdmods_repos, get_mdmods_repo_file, list_modding_docs, get_modding_doc). The mix of verbs (create, build, deploy, launch, get, search, list) is predictable and readable.
The 9 tools are well-scoped for a modding workflow, covering the core development cycle (create, build, deploy, launch) plus environment inspection, repository browsing, and documentation access. The count is within the ideal 3-15 range and feels neither sparse nor bloated.
The toolset covers the entire mod lifecycle from creation to testing, with environment diagnostics and documentation support. Minor gaps exist, such as no explicit uninstall/remove tool or dependency management, but these are not critical to the primary workflow and can be worked around.
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
Create, deploy, and operate MCP servers directly from your GitHub repositories.
A MCP server built for developers enabling Git based project management with project and personal…
MCP server for developer documentation, generated by doc2mcp.
The official MCP Server for the Mux API
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceAn MCP server for Arma Reforger and Enfusion engine modding that enables users to create mods, search API classes, and generate scripts through natural language. It provides a comprehensive suite of tools for scaffolding addons, generating prefabs, and building projects using the Workbench CLI.5014
- AlicenseBqualityDmaintenanceHelps users easily create new MCP servers by providing documentation, templates, and tools to generate complete server files and configuration.21MIT
- AlicenseAqualityAmaintenanceAn MCP server that empowers AI coding agents to work effectively with Minecraft mod development, providing static analysis of decompiled source code and runtime interaction with a running Minecraft instance.314213MIT
- FlicenseAqualityCmaintenanceA development tooling MCP server for tModLoader mod projects, enabling building, formatting, and log tailing operations directly from an MCP client.4
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/Qi-Lai/musedash-mod-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server