TFS MCP Server
# TFS MCP Server
An MCP server (Node.js) that bridges Claude Code with an **on-premise** Azure DevOps Server / TFS
collection (set your own collection URL via `TFS_ORG_URL`).
Auth: **Personal Access Token (PAT)**.
## 1. Generate a PAT
In TFS: top-right avatar → **Security** / **Personal Access Tokens** → **New Token**.
Grant scopes: **Work Items (Read & Write)** and **Code (Read & Write)**.
## 2. Configure environment
| Variable | Required | Description |
|-------------------|----------|-------------|
| `TFS_ORG_URL` | yes | Collection URL, e.g. `https://your-tfs-server/YourCollection` |
| `TFS_PAT` | yes | The personal access token |
| `TFS_PROJECT` | no | Default project name (so you don't pass it every call) |
| `TFS_API_VERSION` | no | REST API version (default `7.1`; try `6.0` if a call 404s) |
| `TFS_IGNORE_SSL` | no | `true` to skip TLS cert verification (use if the internal CA isn't trusted) |
## 3. Register with Claude Code
```bash
claude mcp add tfs \
--env TFS_ORG_URL=https://your-tfs-server/YourCollection \
--env TFS_PAT=<your-pat> \
--env TFS_PROJECT=<your-default-project> \
--env TFS_IGNORE_SSL=true \
-- node /absolute/path/to/tfs-mcp-server/src/index.js
```
Or add to `.mcp.json` / settings manually (see `mcp.example.json`).
## Tools
**General**
- `tfs_list_projects`
**Work Items**
- `tfs_query_work_items` — run a WIQL query
- `tfs_get_work_item`
- `tfs_create_work_item`
- `tfs_update_work_item`
- `tfs_add_work_item_comment`
**Git / Pull Requests**
- `tfs_list_repos`
- `tfs_list_branches`
- `tfs_list_commits`
- `tfs_list_pull_requests`
- `tfs_get_pull_request`
- `tfs_create_pull_request`
TDQS
Scored across 12 tools
Each tool targets a distinct resource and action (e.g., query vs. get vs. create work items; list vs. get vs. create pull requests), with no overlapping purposes. The tool descriptions clearly differentiate them.
All tools follow a consistent 'tfs_verb_noun' pattern using snake_case (e.g., tfs_list_projects, tfs_create_work_item). The verbs are simple and align with standard CRUD operations, making the naming predictable.
With 12 tools covering projects, work items, and git repositories, the number is well-scoped for a TFS MCP server. Each tool serves a distinct purpose without unnecessary redundancy or bloat.
The tool set covers core workflows: CRUD for work items (except delete), PR lifecycle (list, get, create), and repository browsing. Minor gaps like work item deletion or branch/repo creation exist, but the surface is largely complete for common tasks.