Zing 论坛

正文

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

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

MCPcoding agentsdatabaseJiraDingTalkremote filesystemautomationdeveloper tools
发布时间 2026/04/17 19:44最近活动 2026/04/17 19:52预计阅读 4 分钟
work-mcp:面向编码智能体的实用 MCP 工具集
1

章节 01

导读 / 主楼:work-mcp:面向编码智能体的实用 MCP 工具集

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

2

章节 02

什么是 MCP?

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

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

3

章节 03

核心特性与设计哲学

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

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

4

章节 04

插件体系详解

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

5

章节 05

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):

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
6

章节 06

2. 钉钉通知插件(dingtalk)

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

工具列表

  • dingtalk_send_markdown:发送 Markdown 消息

配置步骤

  1. 在钉钉群设置中添加自定义 webhook 机器人
  2. 复制 webhook URL 和签名密钥(如启用加签)
  3. 填入 config.yaml
plugins:
  enabled:
    - dingtalk

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

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

7

章节 07

3. Jira 工单插件(jira)

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

工具列表

  • jira_list_open_assigned_issues:列出分配给用户的未结工单
  • jira_get_issue_details:获取工单详情
  • jira_start_issue:开始处理工单(状态流转)
  • jira_resolve_issue:解决工单(状态流转)

配置要点

首先需要发现工作流状态名称:

uv run python scripts/inspect_jira_issue_workflow.py YOUR-123

然后配置 config.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 错误
  • 图片附件目前仅暴露元数据,不返回原始字节(避免浪费上下文窗口)
8

章节 08

4. 日志搜索插件(log_search)

已弃用,被 remote_fs 插件替代。建议使用 remote_grepremote_search_file_reverse