T

TFS MCP 服务器

zzia615/tfs-mcp
0 Stars 34 次浏览 更新于 2026-08-23

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "tfs": {
      "args": [
        "-p",
        "tfs-mcp@1.0.5",
        "tfs-mcp"
      ],
      "command": "npx",
      "env": {
        "NODE_ENV": "production",
        "TFS_PROJECTS": "[]",
        "TFS_TOKEN": "",
        "TFS_URLS": "[]"
      }
    }
  }
}

服务介绍

TFS MCP 服务器

项目简介

TFS MCP 服务器是一个基于 Node.js 的工具,用于连接 TFS (Team Foundation Server) 系统,查询工作任务和代码权限。它实现了 MCP (Model Context Protocol) 协议,为客户端提供了一系列与 TFS 交互的功能。

环境要求

  • Node.js 12.0 或更高版本
  • npm 6.0 或更高版本
  • 网络连接到 TFS 服务器

安装

  1. 克隆或下载项目到本地
  2. 进入项目目录
  3. 安装依赖:
npm install

配置

方法一:环境变量配置(推荐)

设置以下环境变量:

  • TFS_URLS: JSON格式的TFS服务器地址列表,例如:["http://tfs-server-url:8080/tfs"]
  • TFS_PROJECTS: JSON格式的项目名称列表,例如:["项目1", "项目2"]
  • TFS_TOKEN: 个人访问令牌

方法二:配置文件

配置env环境变量

// TFS配置文件
const config = {
  // TFS服务器地址列表
  tfsUrls: ["http://tfs-server-url:8080/tfs"],

  // 个人访问令牌
  personalAccessToken: "your-personal-access-token",

  // 项目列表
  projects: ["项目1", "项目2"]
};

module.exports = config;

功能列表

工具名称 描述 参数
get_my_tasks 查询分配给我的所有工作任务 includeCompleted (boolean): 是否包含已完成的任务days (number): 查询最近N天的任务
get_task_details 获取指定任务的详细信息 taskId (string/array): 任务ID或任务ID数组
get_projects 获取所有可用的TFS项目列表
get_code_repositories 查询我有权限访问的代码库 projectName (string): 项目名称(可选)
get_user_info 获取当前登录的TFS用户信息
get_user_tasks 查询分配给指定用户的所有工作任务 userName (string): 用户名称includeCompleted (boolean): 是否包含已完成的任务days (number): 查询最近N天的任务

使用方法

作为命令行工具

# 启动服务器
node tfs-mcp-server.js

# 或使用npm link后直接运行
tfs-mcp

作为模块使用

const TFSMCPServer = require('./tfs-mcp-server');

const server = new TFSMCPServer();
server.start();

协议说明

该服务实现了 MCP 协议,通过标准输入/输出进行通信。客户端可以发送 JSON-RPC 格式的请求,服务端会返回相应的结果。

示例请求

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "get_my_tasks",
    "arguments": {
      "includeCompleted": false,
      "days": 7
    }
  },
  "id": 1
}

示例响应

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "找到 2 个任务 (修改日期: 2026-03-26 至今)"
      }
    ]
  }
}

使用示例

查询我的任务

# 启动服务器
node tfs-mcp-server.js

# 在另一个终端发送请求
echo '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"get_my_tasks","arguments":{"includeCompleted":false,"days":15}},"id":1}' | node tfs-mcp-server.js

查询任务详情

echo '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"get_task_details","arguments":{"taskId":"1912582"}},"id":2}' | node tfs-mcp-server.js

获取项目列表

echo '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"get_projects","arguments":{}},"id":3}' | node tfs-mcp-server.js

常见问题

1. 连接TFS服务器失败

  • 检查网络连接是否正常
  • 验证TFS服务器地址是否正确
  • 确认个人访问令牌是否有效
  • 检查环境变量是否正确设置

2. 无法查询到任务

  • 确认配置文件中的项目列表是否正确
  • 检查用户是否有相应的权限
  • 验证TFS服务器是否正常运行

3. 性能问题

  • 对于大型项目,查询可能会较慢,请耐心等待
  • 建议使用days参数限制查询时间范围
  • 避免一次查询过多任务

依赖

版本历史

  • v1.0.5: 初始版本

许可证

MIT

相关 MCP 服务