Skip to main content
Glama
README.md
# 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

A3.5/5.0

Scored across 12 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityInactive
ResponsivenessNo issues