simple-MCP
by ygdcz
README.md
# simple-MCP
一个最小的 MCP (Model Context Protocol) server 示例,通过 stdio 暴露一个查询本机硬件信息的工具。
## 依赖
- Python >= 3.13
- [uv](https://github.com/astral-sh/uv)
## 安装
```bash
uv sync
```
## 运行
```bash
uv run main.py
```
server 以 stdio 传输方式启动,等待 MCP 客户端连接。
## 工具
### `get_host_info`
无参数,返回结构化的主机信息:
| 字段 | 类型 | 说明 |
|---|---|---|
| `system` | string | 操作系统名称,如 Darwin / Linux / Windows |
| `release` | string | 内核版本号 |
| `machine` | string | CPU 架构,如 x86_64 / arm64 |
| `processor` | string | 处理器标识,部分平台可能为空 |
| `memory_gb` | number | 物理内存总量,单位 GB |
| `cpu_count` | integer | 逻辑核心数,无法探测时为 -1 |
| `cpu_model` | string | CPU 型号名称,无法探测时为 Unknown |
返回类型是 pydantic model `HostInfo`,MCP 会据此生成自描述的 output schema,客户端无需解析字符串。
CPU 型号按平台探测:macOS 用 `sysctl machdep.cpu.brand_string`,Linux 读 `/proc/cpuinfo`,Windows 读 `PROCESSOR_IDENTIFIER`,全部失败时回退到 `platform` 模块。
## 客户端配置
```json
{
"mcpServers": {
"hostInfoMcp": {
"command": "uv",
"args": ["--directory", "/path/to/simple-MCP", "run", "main.py"]
}
}
}
```
## 本地验证
```bash
uv run tools.py # 直接打印主机信息 JSON
```
TDQS
A4.1/5.0
Scored across 1 tool
Disambiguation5/5
With only one tool, there is no possibility of confusion with other tools. The tool's purpose is clearly defined.
Naming Consistency5/5
The single tool follows a clear verb_noun pattern (get_host_info), which is consistent and descriptive.
Tool Count3/5
One tool is on the low end, but given the server's name 'simple-MCP', it is reasonable for a focused purpose. However, it is borderline for general utility.
Completeness5/5
The tool returns comprehensive host hardware and OS information (system, kernel, architecture, processor, memory, CPU), covering the domain well with no obvious gaps.
Maintenance
ActivityStale
ResponsivenessNo issues