AT Bridge
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., "@AT BridgeSend AT+CSQ to check signal quality on the auto-detected port"
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.
AT Bridge
MCP server for AI-driven AT command debugging over serial port.
AT Bridge 是一个 Model Context Protocol 服务器,让 AI 助手能够通过 COM/串口直接与 IoT 模组通信,进行 AT 命令调试。内置可维护的芯片平台知识库,实测过的命令自动沉淀。
Features
串口通信 — 自动探测可用 COM 口,支持主流波特率,可配置校验位/流控
AT 命令调试 — 发送 AT 命令并解析响应,自动补全 AT 前缀
批量测试 — 一次性发送命令列表,自动分类 PASS/ERR/CME
知识库 — 按芯片平台分层存储 AT 命令(含语法、返回值含义、实测数据),支持搜索和持续积累
双层存储 — 包内 YAML 只读(随版本分发),用户数据写到
%APPDATA%(跨版本保留)
Related MCP server: embedded-serial-mcp
Quick Start
uv sync
uv run python main.pyMCP Configuration
{
"mcpServers": {
"at-bridge": {
"command": "uv",
"args": ["run", "--directory", "path/to/at_bridge", "python", "main.py"]
}
}
}Tools
Serial Communication
Tool | Description |
| 枚举 COM/串口,含 VID/PID、制造商、描述 |
| 自动探测 — 扫描所有端口,试多种波特率,找出响应 AT 的设备 |
| 配置波特率、数据位、校验位、停止位、流控 |
| 打开/关闭串口连接 |
| 发送单条 AT 命令,自动补全 |
| 批量测试 — 一次发送命令列表,自动分类结果 |
Knowledge Base
Tool | Description |
| 按关键词/平台/标签搜索命令库 |
| 列出全部命令,可按平台过滤 |
| 添加/更新命令到指定芯片平台 |
| 查看可用的芯片平台列表 |
| 知识库统计:条目数、来源分布 |
Chipsets
芯片平台知识库位于 src/at_bridge/chipsets/,按平台分层:
文件 | 内容 |
| 3GPP 标准 AT 命令(49 条),只读基础库 |
| ASR 平台私有命令与平台特性 |
| 移远 EC200x 等私有命令(48 条) |
| 用户自定义命令,自动创建于 |
加载顺序:_3gpp → 平台文件 → _custom(后者覆盖同名 key)。
Project Structure
at_bridge/
main.py # Entry point — MCP server on stdio
src/at_bridge/
server.py # MCP server: 12 tool definitions + handlers
serial_handler.py # Serial I/O + batch test engine
knowledge_store.py # YAML knowledge base CRUD with two-layer storage
chipsets/ # Platform command libraries
_3gpp.yaml / asr.yaml / quectel.yamlAvailable Tools
12 toolsat_auto_detectA
Auto-detect all available COM ports. Tries common baud rates and sends an AT probe command to find responsive devices. Useful when unsure which port the device is connected to.
| Name | Required | Description | Default |
|---|---|---|---|
| baudrates | No | Baud rate list to try. Default: 115200, 9600, 921600, 460800, 230400, 57600, 38400, 19200. | |
| test_command | No | AT command used for probing. Default 'AT'. | AT |
| probe_timeout | No | Timeout per probe in seconds. Smaller is faster but may miss slow devices. Default 0.5. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that the tool tries common baud rates and sends an AT probe, but omits details like whether ports are temporarily opened, potential side effects on devices, or rate limiting.
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?
Two concise sentences, no superfluous text. First sentence states action, second provides use case. Efficient and clear.
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 has no output schema and optional parameters. Description gives purpose and usage context but lacks return format, error behavior, and prerequisites. Adequate but not complete.
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%, so parameters are well-documented in schema. The description adds minimal extra meaning beyond reinforcing that baud rates and probe command are used. Baseline score 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 explicitly states 'Auto-detect all available COM ports' with specific actions (tries baud rates, sends AT probe). This clearly distinguishes it from siblings like at_list_ports (simple listing) and at_send_command (sending to specific port).
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 includes 'Useful when unsure which port the device is connected to,' providing clear context for use. However, it does not specify when not to use or compare to alternatives, slightly limiting guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
at_batch_testA
Batch-test AT commands. Sends a list of AT commands to the connected device and returns all results with automatic classification (PASS/OK/ERR/CME). Much more efficient than calling at_send_command repeatedly; good for validating a command list from the knowledge base.
| Name | Required | Description | Default |
|---|---|---|---|
| timeout | No | Timeout per command in seconds. Default 1.0. | |
| commands | Yes | List of AT commands to test. Example: ['AT', 'AT+CSQ', 'AT+CGMI']. About 4ms each; for large batches, group by category in chunks of 20-30. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions sending commands and returning classified results, but lacks details on failure handling, side effects, or whether execution is sequential/parallel. Adequate but not thorough.
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?
Two sentences: first defines action, second provides efficiency context and use case. No unnecessary 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?
No output schema, but description doesn't elaborate on return format beyond 'results with automatic classification'. For a test tool, more detail on what the response contains would be helpful, but it's not critically missing.
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 covers both parameters fully. Description adds value by elaborating on 'commands' parameter with timing info (4ms each) and batching advice (group by category in chunks of 20-30).
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?
Clearly states it batch-tests AT commands, sends a list, and returns results with classification. Distinguishes from sibling at_send_command by highlighting efficiency.
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 says 'Much more efficient than calling at_send_command repeatedly' and suggests use case: 'good for validating a command list from the knowledge base'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
at_close_portB
Close the currently opened COM port connection.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description should disclose behavioral traits such as error handling if no port is open, or whether the action is destructive. The current description only states the action without any behavioral context.
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, concise but lacking structure. While it is not verbose, it could include a brief usage note without increasing length significantly.
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 output schema and no annotations, the description should provide more context about return values, side effects, or prerequisites. It is minimally functional but incomplete for an agent to fully understand the tool's behavior.
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 no parameters (schema coverage 100%), so no additional description is needed. The description does not add or contradict any parameter info.
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 explicitly states the tool's action ('Close') and the resource ('the currently opened COM port connection'). This clearly distinguishes it from sibling tools like at_open_port.
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, e.g., after opening a port, or when not to use it (e.g., if the port is already closed). Compared to siblings like at_open_port, no usage context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
at_configureA
Configure serial port parameters (baud rate, data bits, parity, stop bits, flow control). Can be called before or after opening the port.
| Name | Required | Description | Default |
|---|---|---|---|
| parity | No | Parity: N(None), E(Even), O(Odd), M(Mark), S(Space). Default N. | N |
| rtscts | No | Hardware flow control RTS/CTS. Default false. | |
| timeout | No | Read timeout in seconds. Default 1.0. | |
| xonxoff | No | Software flow control XON/XOFF. Default false. | |
| baudrate | No | Baud rate. Common values: 9600, 115200, 921600, 1000000. Default 115200. | |
| bytesize | No | Data bits: 5, 6, 7, 8. Default 8. | |
| stopbits | No | Stop bits: 1, 1.5, 2. Default 1. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only adds timing context. It lacks details on side effects, permission requirements, or whether changes take effect immediately. The statement 'Can be called before or after opening the port' is helpful but incomplete for a full behavioral picture.
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 short sentences, both front-loaded with key information. Every word is necessary and there is no fluff, making it highly concise and structured.
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 7 optional parameters with full schema coverage and no output schema, the description adequately conveys the tool's purpose and timing. It could mention that all parameters have defaults, but the schema already provides those details. Overall, it is sufficiently complete for an agent to understand and use the tool.
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. The description lists parameter categories but adds no extra meaning beyond the schema's descriptive names and defaults. It does not provide examples or constraints.
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 configures serial port parameters and lists the categories (baud rate, data bits, etc.). It distinguishes itself from sibling tools like at_open_port and at_send_command by focusing specifically on configuration, not opening or sending.
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 explicitly notes it can be called before or after opening the port, providing clear timing context. However, it does not mention when not to use it or suggest alternatives, though the sibling list implies distinct use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
at_knowledge_addA
Add or update an AT command in the knowledge base. Stores in the specified chipset file (e.g. asr, quectel) or _custom. Use at_knowledge_chipsets to see available platforms.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | YAML slug/key, e.g. 'at+csq', 'at+qcell'. Must be unique. | |
| name | No | Short name, e.g. 'Signal Quality'. | |
| type | No | Command type: empty=AT command, urc=passive URC wait, data=transparent data send. | |
| retry | No | Retry count. Default 1. | |
| expect | No | Expected response patterns. Example: ['+CSQ:', 'OK']. | |
| params | No | Parameter list. Each param has name/type/default/required. | |
| chipset | No | Target chipset platform. See at_knowledge_chipsets for options. Default '_custom' (user scratchpad). Common: asr, quectel. | |
| command | Yes | Actual AT command string. Example: 'AT+CSQ', 'AT+QCELL?'. Supports {param} placeholders. | |
| timeout | No | Timeout in seconds. Default 1.0. | |
| standard | No | Source: 3gpp / vendor / custom. Default vendor. | |
| description | No | Function description including return value meanings. Multi-line supported. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It mentions 'Add or update' but does not clarify idempotency, error handling, authorization needs, or what happens on duplicate keys. This is insufficient for a mutation tool.
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 sentences with no wasted words. The main purpose is front-loaded, and the reference to at_knowledge_chipsets is placed appropriately.
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?
Despite 11 parameters and no output schema, the description lacks essential context about return values, error conditions, or the add-vs-update behavior. The tool is complex, and the description does not provide a complete picture for effective 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?
Schema coverage is 100%, so all parameters have descriptions in the schema. The description adds minimal extra meaning (e.g., chipset context). Baseline 3 is appropriate as it does not significantly enhance understanding beyond the schema.
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 verb 'Add or update' and the resource 'AT command in the knowledge base', along with storage location (chipset file or _custom). It distinguishes from sibling tools like at_knowledge_list or at_knowledge_search.
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 directs users to at_knowledge_chipsets for available platforms, providing helpful context for usage. However, it does not explicitly state when not to use this tool or how it compares to alternatives like at_knowledge_stats or at_send_command.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
at_knowledge_chipsetsA
List available chipset knowledge base files. AI should call this first to know which platforms exist, then use at_knowledge_add to write to the appropriate platform file.
| 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 full burden. It only states it lists files, with no disclosure of behaviors like what happens if no files exist, auth requirements, or side effects. This is minimal beyond the name.
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?
Two sentences: first states purpose, second gives usage guidance. No fluff, front-loaded, every sentence 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?
For a tool with no params, no output schema, and no annotations, the description adequately states its output and workflow integration. However, it lacks information about potential errors or output format.
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 zero parameters with 100% coverage, so the description's lack of parameter details is acceptable. The baseline for 0 parameters is 4.
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 'list' and resource 'available chipset knowledge base files', and distinguishes from sibling tools by indicating it should be called first to know which platforms exist before using at_knowledge_add.
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 clear guidance on when to use this tool (first step to discover platforms) and suggests a specific alternative (at_knowledge_add) for subsequent writing, but does not mention other alternatives or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
at_knowledge_listA
List all commands in the knowledge base, optionally filtered by source. Shows key, name, and expected response summary.
| Name | Required | Description | Default |
|---|---|---|---|
| standard | No | Filter by source: 3gpp / vendor / custom. Empty returns all. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It correctly describes the read operation and output fields but does not disclose potential limitations (e.g., pagination, rate limits) or confirm that no state changes occur. Adequate for a simple list tool.
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?
Single sentence with all essential information front-loaded. No redundant phrases. Efficient and to the point.
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 tool with one optional parameter and no output schema, the description adequately covers functionality and return fields. Minor gap: could mention if results are paginated or limited, but not critical.
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 documentation covers 100% of parameters with clear description for 'standard'. The description reiterates the filtering option and adds context about output fields, but does not significantly enhance parameter understanding beyond the schema.
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 that the tool lists commands in the knowledge base, with optional filtering by source, and specifies the fields displayed (key, name, expected response summary). This effectively distinguishes it from sibling tools like at_knowledge_search or at_knowledge_add.
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 use for listing commands with optional filtering, but lacks explicit guidance on when to use this tool versus siblings like at_knowledge_search (for specific queries) or at_knowledge_stats. No when-not or alternative tools mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
at_knowledge_searchA
Search the AT command knowledge base. Supports filtering by keyword (key/name/description/AT string) and source (3gpp/vendor/custom).
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tag filter (matches any tag). Example: ['urc', 'quectel']. | |
| query | No | Search keyword. Searches key, name, description, AT string. Examples: 'signal', 'tcp', 'CGMI'. Empty returns all commands. | |
| standard | No | Filter by source: 3gpp (standard), vendor (vendor-specific), custom (user-defined). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that the search filters by keyword and source but does not detail response format, pagination, limits, or error behavior. Adequate but not thorough.
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 parenthetical details—concise and front-loaded with the main action. No extraneous 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?
Given 3 optional parameters, no output schema, and no annotations, the description covers core behavior but lacks details on output format, ordering, or error handling. Complete for basic use but could be more comprehensive.
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%. The description adds a summary of filtering dimensions (keyword searches key/name/description/AT string; source types) but doesn't add significant meaning beyond the schema. Baseline 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 clearly states the tool searches the AT command knowledge base, specifying the resource and verb. It also mentions filtering by keyword and source, distinguishing it from sibling tools like at_knowledge_list or at_knowledge_add.
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 context on when to use the tool (search with filters) and includes a note that empty query returns all commands. However, it does not explicitly state when not to use it or compare with alternatives like at_knowledge_list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
at_knowledge_statsA
Show knowledge base statistics: total commands, per-source YAML file breakdown, source distribution.
| 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. It only states what the tool shows but does not disclose behavioral traits such as read-only nature, authentication requirements, or whether it runs a background process.
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 immediately communicates the tool's purpose and key outputs. No unnecessary 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 zero-parameter tool without an output schema, the description is adequate but lacks details on return format or any prerequisites. It is minimally complete.
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 no parameters, so description coverage is 100%. The description adds value by explaining the output categories beyond the schema.
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 explicitly states that the tool shows knowledge base statistics and lists three specific elements: total commands, per-source YAML file breakdown, and source distribution. This clearly distinguishes it from siblings like at_knowledge_list or at_knowledge_search.
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 provide explicit guidance on when to use this tool versus alternatives. Although the distinct purpose is clear, there is no mention of when not to use it or situational context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
at_list_portsA
List all available COM/serial ports. Returns device name, description, hardware ID, VID/PID.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description bears full responsibility for behavioral disclosure. It correctly indicates a read-like operation by stating 'List all available COM/serial ports' and describes the return fields. However, it does not explicitly confirm non-destructive behavior or mention any prerequisites or side effects, which would be helpful.
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—two sentences, zero wasted words. It front-loads the core purpose ('List all available COM/serial ports') and then specifies the output details. Every sentence contributes essential information.
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 and no output schema, the description provides adequate context by listing the output fields. It is sufficient for a simple list operation. However, it could mention error conditions or permissions, but the core information is 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?
With zero parameters and 100% schema coverage, the description's baseline is 3. The description adds value by detailing the returned data, but this relates to output rather than parameter semantics. No additional parameter information is needed, so the baseline score 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 clearly states the tool's purpose: listing all available COM/serial ports. It specifies the returned fields (device name, description, hardware ID, VID/PID), which is specific and unique among sibling tools. The verb 'List' and resource 'available COM/serial ports' are precise and unambiguous.
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 on when to use or not use this tool versus siblings. However, the simplicity of the tool (no parameters, straightforward list) implies its usage: call it to see available ports. It does not exclude alternatives, but the sibling list includes tools like at_auto_detect which may overlap, so explicit guidance would improve clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
at_open_portB
Open the specified COM port and establish a serial connection.
| Name | Required | Description | Default |
|---|---|---|---|
| port | Yes | Serial port device name. Windows: COM3, COM4, etc.; Linux: /dev/ttyUSB0, /dev/ttyACM0, etc. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full disclosure burden. It does not explain what happens if the port is already open, whether the operation blocks, timeout behavior, or required permissions. This is insufficient for a connection-establishing 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, front-loaded sentence of 10 words with no unnecessary words. Every word contributes to the core action, making it highly concise and well-structured.
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 one parameter and no output schema, the description is minimally adequate. However, it lacks information on success/failure indicators, error conditions, or connection status, leaving gaps in completeness.
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 is one parameter 'port' with schema coverage 100% and detailed examples (COM3, /dev/ttyUSB0). The description adds no extra meaning beyond the schema, so it meets the baseline of 3.
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 verb 'Open', the resource 'specified COM port', and the result 'establish a serial connection'. It distinguishes from siblings like at_close_port and at_list_ports by specifying a connection-establishing action.
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. For example, it does not say 'before sending commands' or mention prerequisites like port availability. The agent must infer usage context from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
at_send_commandA
Send an AT command to the connected device and read the response. Auto-prepends AT prefix (e.g. 'CSQ' becomes 'AT+CSQ'). Supports standard AT and extended AT+ commands.
| Name | Required | Description | Default |
|---|---|---|---|
| command | Yes | AT command to send. Examples: 'AT', 'AT+CGMI', 'AT+CSQ', 'AT+CREG?', or omit AT prefix like 'CGMI', '+CSQ'. | |
| read_until | No | Optional. Stop reading after encountering this string. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses auto-prepending and command support but does not mention side effects, rate limits, error behaviors, or response format. Some behavior is transparent but not comprehensive.
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?
Two concise sentences: first states the main purpose, second adds clarifying details. No redundant words, front-loads the action.
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 command-send tool, the description covers core behavior and parameter usage. However, it lacks usage guidelines, behavioral details, and return value explanation, which would improve completeness.
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% with detailed parameter descriptions. The description adds value by explaining auto-prepending behavior and providing examples, going beyond the schema's parameter descriptions.
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?
Description clearly states the verb 'Send', resource 'AT command', and action 'read the response'. It explains auto-prepending of 'AT' prefix and support for standard and extended commands, effectively distinguishing from sibling tools like at_batch_test and at_configure.
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?
Description does not explicitly provide when-to-use or when-not-to-use guidance. It implies usage for sending individual AT commands but lacks comparison with siblings like at_batch_test for batch commands or at_auto_detect for automatic detection.
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. Dates show when Glama detected each change.
12 tool updates
v0.1.1- First observed
at_auto_detect - First observed
at_batch_test - First observed
at_close_port - First observed
at_configure - First observed
at_knowledge_add - First observed
at_knowledge_chipsets - First observed
at_knowledge_list - First observed
at_knowledge_search - First observed
at_knowledge_stats - First observed
at_list_ports - First observed
at_open_port - First observed
at_send_command
TDQS
Tools are mostly distinct, but at_auto_detect and at_list_ports both deal with port discovery and may cause confusion. at_batch_test and at_send_command are clearly differentiated by batch vs single command. Knowledge base tools are well-separated.
All tools start with 'at_' prefix. Most follow verb_noun pattern (at_open_port, at_list_ports), but knowledge base tools use noun_verb (at_knowledge_add, at_knowledge_list), and at_configure is a standalone verb. Minor inconsistency but overall predictable.
12 tools is well-scoped for the domain of AT command interaction and knowledge management. It covers port operations, command sending, and knowledge base without being excessive.
Core workflow is covered: port detection (auto_detect, list_ports), configuration (configure), open/close, and command sending (single/batch). Knowledge base adds support. Missing possibly a 'read current config' or raw send without AT prefix, but these are minor gaps.
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
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
- ZapierOAuthcom.zapier
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that enables AI assistants to control GDB debugging sessions, including breakpoint management, thread analysis, and variable inspection, using the GDB/MI protocol.221MIT
- AlicenseNot gradedqualityCmaintenanceA professional MCP server for serial port communication, enabling AI assistants to list, connect, send/receive data, and manage serial connections with embedded systems, IoT devices, and hardware debugging hardware.1MIT

sbl-probeofficial
AlicenseNot gradedqualityDmaintenanceSerial communication and protocol analysis MCP server that gives AI coding assistants direct access to serial ports for reading, writing, decoding, and capturing embedded device output.MIT- AlicenseNot gradedqualityCmaintenanceAn MCP server that provides comprehensive debugging capabilities for J-Link debuggers, enabling memory, flash, register, and RTT operations through AI assistants.33MIT
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/zeng-andrew/at_bridge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server