# work-mcp：面向编码智能体的实用 MCP 工具集

> work-mcp 是一个模块化的 MCP 服务器，为编码智能体提供数据库查询、钉钉通知、Jira 工单管理、远程文件系统等实用工具，支持灵活配置和插件化扩展。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-04-17T11:44:55.000Z
- 最近活动: 2026-04-17T11:52:34.310Z
- 热度: 159.9
- 关键词: MCP, coding agents, database, Jira, DingTalk, remote filesystem, automation, developer tools
- 页面链接: https://www.zingnex.cn/forum/thread/work-mcp-mcp
- Canonical: https://www.zingnex.cn/forum/thread/work-mcp-mcp
- Markdown 来源: ingested_event

---

# work-mcp：面向编码智能体的实用 MCP 工具集

## 什么是 MCP？

MCP（Model Context Protocol）是 Anthropic 推出的一种开放协议，旨在标准化大型语言模型与外部工具、数据源之间的集成方式。通过 MCP，智能体可以安全地访问本地文件、数据库、API 等资源，实现更强大的自动化能力。

work-mcp 是一个面向开发工作流的 MCP 服务器集合，它将常用的开发、运维和自动化任务封装为标准化的 MCP 工具，让编码智能体能够无缝集成到日常工作流程中。

## 核心特性与设计哲学

work-mcp 的设计理念强调**模块化**和**可配置性**。工具按插件分组，每个插件作为一个整体在 `config.yaml` 中启用或禁用。这种设计带来几个明显优势：

首先，**按需启用**。用户只需启用实际需要的插件，避免不必要的依赖加载和权限暴露。其次，**配置集中**。所有配置都集中在 `config.yaml` 中，便于管理和版本控制。最后，**启动验证**。提供 `make check` 命令在启动前验证配置和连通性，提前发现问题。

## 插件体系详解

work-mcp 目前包含 5 个主要插件，覆盖数据库操作、消息通知、工单管理、日志检索和远程文件访问：

### 1. 数据库插件（database）

提供对 SQL Server 和 MySQL 的只读查询能力，适合实时调试和生产环境数据探查。

**工具列表**：
- `db_list_databases`：列出所有数据库
- `db_list_tables`：列出指定数据库的表
- `db_get_table_schema`：获取表结构
- `db_execute_query`：执行只读查询

**安全设计**：
- 必须使用只读数据库账户
- 工具层 SQL 验证仅作为纵深防御
- SQL Server 需要 Microsoft ODBC Driver
- MySQL 使用 pymysql，无需 ODBC

配置示例（SQL Server）：
```yaml
plugins:
  enabled:
    - database

database:
  type: sqlserver
  host: your-sqlserver-host.example.com
  port: 1433
  user: readonly_user
  password: your_password_here
  driver: "ODBC Driver 18 for SQL Server"
  trust_server_certificate: true
  connect_timeout_seconds: 5
```

### 2. 钉钉通知插件（dingtalk）

支持通过钉钉机器人发送 Markdown 格式的群消息，适合自动化告警和状态通知。

**工具列表**：
- `dingtalk_send_markdown`：发送 Markdown 消息

**配置步骤**：
1. 在钉钉群设置中添加自定义 webhook 机器人
2. 复制 webhook URL 和签名密钥（如启用加签）
3. 填入 `config.yaml`

```yaml
plugins:
  enabled:
    - dingtalk

dingtalk:
  webhook_url: https://oapi.dingtalk.com/robot/send?access_token=your_token_here
  secret: SECxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
```

注意：`secret` 仅在启用加签时需要，缺失会导致签名不匹配错误。

### 3. Jira 工单插件（jira）

提供对个人工单的查询和状态流转能力，支持敏捷开发工作流。

**工具列表**：
- `jira_list_open_assigned_issues`：列出分配给用户的未结工单
- `jira_get_issue_details`：获取工单详情
- `jira_start_issue`：开始处理工单（状态流转）
- `jira_resolve_issue`：解决工单（状态流转）

**配置要点**：

首先需要发现工作流状态名称：
```bash
uv run python scripts/inspect_jira_issue_workflow.py YOUR-123
```

然后配置 `config.yaml`：
```yaml
plugins:
  enabled:
    - jira

jira:
  base_url: https://your-jira-instance.example.com
  api_token: your_jira_api_token_here
  project_key: PROJECT1
  latest_assigned_statuses:
    - 待处理
    - 已接收
    - 处理中
  start_target_status: 已接收
  resolve_target_status: 已解决
  attachments:
    max_images: 5
    max_bytes_per_image: 1048576
```

**注意事项**：
- 状态名称必须与 Jira 中的实际名称完全一致
- 如多个流转可到达同一目标状态，会返回 `transition_ambiguous` 错误
- 图片附件目前仅暴露元数据，不返回原始字节（避免浪费上下文窗口）

### 4. 日志搜索插件（log_search）

**已弃用**，被 `remote_fs` 插件替代。建议使用 `remote_grep` 和 `remote_search_file_reverse`。

### 5. 远程文件系统插件（remote_fs）

提供对远程服务器的只读文件访问能力，支持目录浏览、内容搜索和文件读取。

**工具列表**：
- `remote_describe_environment`：返回配置的根目录和元数据
- `remote_list_tree`：浏览目录
- `remote_grep`：跨目录搜索文件或匹配行
- `remote_read_file`：读取指定范围的文本内容（支持 tail 读取）
- `remote_search_file_reverse`：从文件末尾反向搜索，返回最新匹配

**配置示例**：
```yaml
plugins:
  enabled:
    - remote_fs

remote_fs:
  roots:
    - name: app
      path: /srv/myapp
      description: Deployed application source
    - name: logs
      path: /var/log/myapp
      description: Application log files
    - name: config
      path: /etc/myapp
      description: Production configuration
```

**安全边界**：
- 每个配置路径必须已存在且为目录
- 根目录是只读边界，工具无法访问配置路径外的文件

## 快速开始

### 安装依赖

```bash
uv sync
```

### 配置

1. 复制示例配置：
```bash
cp config.example.yaml config.yaml
```

2. 编辑 `config.yaml`，启用需要的插件

3. 验证配置：
```bash
make check
```

### 启动服务器

**stdio 模式**（默认，适合本地 MCP 客户端）：
```bash
uv run work-mcp
```

**HTTP 模式**：
```bash
make run
```

### 客户端配置

在 MCP 客户端配置文件中添加：
```json
{
  "mcpServers": {
    "work-mcp": {
      "command": "uv",
      "args": ["run", "work-mcp"],
      "cwd": "/absolute/path/to/work-mcp"
    }
  }
}
```

## 扩展开发

work-mcp 支持自定义插件开发：

1. 在 `src/work_mcp/tools/` 下实现 `register__tools(mcp: FastMCP, settings: Settings)`
2. 简单插件可放在单个模块，复杂插件建议按包组织
3. 在 `src/work_mcp/tools/__init__.py` 的 `PLUGIN_REGISTRY` 中添加条目
4. 在 `config.yaml` 的 `plugins.enabled` 中添加插件名

## 日志配置

```yaml
logging:
  dir: logs
  level: info  # debug | info | warning | error
```

- `dir` 可选，默认为 `logs`
- 相对路径从进程工作目录解析
- 支持绝对路径

## 总结

work-mcp 为编码智能体提供了一套开箱即用的工具集，覆盖开发工作流中的常见需求。其模块化设计让用户可以按需启用功能，避免过度授权；集中配置和启动验证机制则提升了运维体验。对于希望将智能体集成到日常开发流程的团队，work-mcp 是一个值得考虑的实用方案。
