XR875 Build MCP
Click on "Deploy 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., "@XR875 Build MCPrun a full build for all components and pack the firmware"
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.
XR875 构建 MCP 服务器
这是一个提供 XR875 项目构建工具的 MCP (Model Context Protocol) 服务器。
功能特性
build_m33: 编译 M33 核。
build_ota: 编译 M33 OTA。
build_c906: 编译 C906 核。
build_all: 按顺序编译所有内容 (M33 -> OTA -> C906 -> Pack)。
pack_firmware: 打包固件。
Related MCP server: EmbedForge
前置条件
Python 3.10+
拥有 XR875 SDK 仓库的访问权限。
推荐使用 uv 进行环境管理。
安装 uv
如果您尚未安装 uv,可以使用以下命令进行安装:
Linux / macOS
curl -LsSf https://astral.sh/uv/install.sh | sh安装完成后,请确保将其添加到您的 PATH 中(通常脚本会自动处理,或者您需要重启终端)。
在本系统中,uv 的绝对路径为 /home/one/.local/bin/uv。如果您在配置中遇到 "command not found",请优先使用此绝对路径。
安装步骤
使用 uv (推荐)
# 进入服务器目录
cd .agents/mcp_servers/xr875-build-mcp
# 安装依赖并创建虚拟环境
# 如果尚未创建虚拟环境,请先创建
/home/one/.local/bin/uv venv
# 同步安装依赖
/home/one/.local/bin/uv sync使用 pip
cd .agents/mcp_servers/xr875-build-mcp
pip install .配置说明
要将此服务器用于 MCP 宿主(如 Cline 或 Claude Desktop),您需要将其添加到配置中。
对于 Cline
在您的 cline_mcp_settings.json 中添加以下内容:
{
"mcpServers": {
"xr875-build": {
"command": "/home/one/.local/bin/uv",
"args": [
"--directory",
"/home/one/workspace/xr875_single_repository/.agents/mcp_servers/xr875-build-mcp",
"run",
"xr875-build"
]
}
}
}或者使用 Python 绝对路径:
{
"mcpServers": {
"xr875-build": {
"command": "/usr/bin/python3",
"args": [
"/home/one/workspace/xr875_single_repository/.agents/mcp_servers/xr875-build-mcp/src/xr875_build/server.py"
],
"env": {
"PYTHONPATH": "/home/one/workspace/xr875_single_repository/.agents/mcp_servers/xr875-build-mcp/src"
}
}
}
}使用方法
配置完成后,支持 MCP 的 AI 助手即可调用此服务器中定义的构建工具。
Available Tools
5 toolsbuild_allB
Build everything in sequence (M33 -> OTA -> C906 -> Pack).
| Name | Required | Description | Default |
|---|---|---|---|
No 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 of behavioral disclosure. It mentions the sequence of operations but lacks details on what 'Build' entails (e.g., compilation, linking, error handling), whether it's destructive, requires specific permissions, or has rate limits. This leaves significant gaps in understanding the tool's behavior beyond the basic action.
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 front-loads the core action ('Build everything') and follows with the sequence details. There is no wasted text, making it highly concise and well-structured for quick comprehension.
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 has no parameters, no annotations, and no output schema, the description is minimally adequate by stating the action and sequence. However, for a build tool that likely involves complex operations, it lacks details on outcomes, error handling, or dependencies, leaving room for improvement in completeness despite the simple context.
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 input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description adds value by specifying the build sequence (M33 → OTA → C906 → Pack), which provides context beyond the empty schema, though it doesn't detail parameters since none exist.
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 ('Build everything') and specifies the sequence of operations (M33 → OTA → C906 → Pack), which indicates a multi-step build process. It doesn't explicitly distinguish from sibling tools like build_c906 or build_m33, but the 'everything' scope implies it's comprehensive rather than targeting individual components.
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 usage when a full sequential build is needed, as opposed to using individual sibling tools for specific components. However, it doesn't provide explicit guidance on when to choose this tool over alternatives or any prerequisites/exclusions, leaving the context somewhat inferred rather than clearly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_c906C
Build the C906 core (lunch_rtos 34 && m clean && m).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While it reveals the tool executes a specific build sequence ('lunch_rtos 34 && m clean && m'), it doesn't mention whether this is destructive, requires specific permissions, has side effects, or what happens on success/failure. Important behavioral traits are missing.
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 gets straight to the point. Every part of the sentence serves a purpose - stating what's being built and providing the exact build sequence. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a build tool with no annotations and no output schema, the description is incomplete. It doesn't explain what 'C906 core' is, what the build sequence does, what the expected outcome is, or how this differs from sibling build tools. The context is insufficient for proper tool selection and usage.
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 0 parameters with 100% schema description coverage, so the baseline is 4. The description appropriately doesn't waste space discussing parameters that don't exist, which is efficient.
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 the specific action ('Build the C906 core') and includes implementation details, but it doesn't clearly distinguish this tool from its siblings (build_all, build_m33, build_ota). The purpose is clear but lacks sibling differentiation.
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 provided about when to use this tool versus alternatives like build_all or build_m33. The description includes implementation commands but doesn't explain the context or prerequisites for using this specific build tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_m33B
Build the M33 core (lunch_rtos 35 && m clean && m).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It reveals this is a build operation (implying mutation/creation), includes specific shell commands showing it performs clean build steps, but doesn't disclose permissions needed, side effects, error behavior, or output format.
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?
Extremely concise single sentence with zero wasted words. Every element ('Build the M33 core' plus the specific command sequence) serves a clear purpose in describing the tool's functionality.
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 build tool with no annotations and no output schema, the description provides the core action and implementation details. However, it lacks information about what the build produces, error handling, or dependencies that would be helpful for an agent to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters (schema coverage 100%), so no parameter documentation is needed. The description appropriately focuses on the tool's behavior rather than parameters, meeting the baseline for zero-parameter tools.
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 ('Build') and the target resource ('the M33 core'), with specific implementation details provided. It distinguishes from siblings by specifying the M33 target, though it doesn't explicitly contrast with other build tools like build_all or build_c906.
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 provided about when to use this tool versus alternatives like build_all or build_c906. The description only states what the tool does, not when it's appropriate or what prerequisites might exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_otaC
Build the M33 OTA (lunch_rtos 35 && ota_mrtos clean && ota_mrtos).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It implies a build operation with specific shell commands, suggesting it's likely a mutation tool that executes processes, but doesn't disclose behavioral traits such as execution time, side effects, error handling, or output format. This is inadequate for a tool with potential system impacts.
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 that lists commands, which is concise but not optimally structured. It front-loads the purpose but includes technical details (commands) without explanation, which may confuse non-expert agents. It could be more polished for clarity.
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 no annotations, no output schema, and a tool that likely performs system builds, the description is incomplete. It lacks information on what the tool returns, error conditions, or dependencies, making it insufficient for safe and effective use by an AI agent in a complex environment.
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 input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add param info, which is appropriate, but it does include command details that could be seen as implicit parameters. Baseline is 4 for zero params, as the schema fully covers the lack of inputs.
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 purpose: 'Build the M33 OTA' with specific commands. It distinguishes from siblings like 'build_all' or 'build_c906' by specifying the M33 target. However, it doesn't explicitly contrast with 'build_m33' (which might be similar) or explain what 'OTA' means, keeping it from a perfect score.
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 provided on when to use this tool versus alternatives like 'build_m33' or 'pack_firmware'. The description lists commands but doesn't specify context, prerequisites, or exclusions, leaving the agent to infer usage from the name and command sequence alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pack_firmwareB
Pack the firmware (lunch_rtos 34 && pack).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 mentions the specific shell commands executed, which gives some insight into the tool's behavior, but doesn't address critical aspects like whether this is a read-only or destructive operation, what permissions are required, what side effects occur, or what happens on success/failure. The technical command details add value but leave significant behavioral 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 extremely concise—a single sentence that directly states the tool's action and the exact commands executed. There is zero wasted verbiage, and the information is front-loaded with no unnecessary elaboration. 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?
Given the tool has zero parameters, no annotations, and no output schema, the description provides the essential action and technical implementation details. However, for a tool that likely performs a significant build/packaging operation (implied by sibling tools), it lacks information about output behavior, success indicators, or error handling. The description is minimally complete but leaves important contextual gaps unaddressed.
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 with 100% schema description coverage, so the schema already fully documents the absence of inputs. The description doesn't need to compensate for any parameter gaps, and it appropriately doesn't mention parameters. A baseline of 4 is appropriate for a zero-parameter tool where the schema handles all documentation needs.
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 ('Pack the firmware') and provides specific technical commands ('lunch_rtos 34 && pack'), which gives a concrete understanding of what the tool does. However, it doesn't explicitly differentiate this firmware packing operation from the sibling build tools (build_all, build_c906, etc.), which appear to be related compilation/assembly operations.
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 guidance on when to use this tool versus the sibling build tools, nor does it mention any prerequisites, dependencies, or contextual triggers. It simply states the command sequence without indicating the appropriate scenario for its invocation.
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.
5 tool updates
v0.1.0- First observed
build_all - First observed
build_c906 - First observed
build_m33 - First observed
build_ota - First observed
pack_firmware
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose targeting specific build components or stages: build_all for sequential builds, build_c906 for C906 core, build_m33 for M33 core, build_ota for M33 OTA, and pack_firmware for packing. No ambiguity exists as each tool name directly corresponds to a unique build operation.
All tools follow a consistent verb_noun pattern with 'build_' or 'pack_' prefixes and specific suffixes (e.g., build_all, build_c906, pack_firmware). This predictable naming scheme makes it easy to understand each tool's function at a glance.
With 5 tools, this server is well-scoped for its build automation purpose. Each tool serves a distinct and necessary function in the build process, from individual component builds to sequential builds and packing, with no redundant or missing operations.
The tool set provides complete coverage for the build domain: it includes individual builds for all core components (M33, C906, OTA), a sequential build tool (build_all), and a packing tool (pack_firmware). This covers the entire build lifecycle from compilation to packaging with no obvious gaps.
Maintenance
Related MCP Connectors
Package intelligence MCP for AI agents — 22 tools, 19 ecosystems, AGPL SDK, free.
AI workflow/MCP implementation package planner.
Build, run, schedule, and publish AI video pipelines to YouTube and TikTok from any MCP client.
- MaShop MCPOAuthapp.mashop
Build, deploy and manage MaShop e-commerce projects from Claude, Cursor or any MCP client.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables ESP-IDF firmware development through MCP by providing tools to manage ESP32 targets, serial ports, and project compilation/building operations.-
- AlicenseNot gradedqualityDmaintenanceEnables AI-driven embedded development: generate, build, flash, and debug firmware using natural language commands through MCP.MIT
- AlicenseAqualityBmaintenanceBuild/flash/debug any Telink embedded SDK via natural language. MCP server with 8 tools for build, serial capture, and firmware flashing via bdt.exe.81MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI tools to manage Renesas e2studio projects, including building, flashing, and debugging embedded code through MCP tools and resources.MIT