You have 3 open revisions:
D1042 · Fix auth token refresh · Needs Review
D1038 · Add rate limiting to API · Changes Planned
D1035 · Update deployment docs · Accepted
Install
If you already have ~/.arcrc from Arcanist, that's all you need. Otherwise, pass your Phabricator URL and API token as env vars.
claude mcp add --scope user phabricator -- npx @freelancercom/phabricator-mcp@latest
With env vars:
claude mcp add --scope user phabricator \
-e PHABRICATOR_URL=https://phabricator.example.com \
-e PHABRICATOR_API_TOKEN=api-xxxxx \
-- npx @freelancercom/phabricator-mcp@latest
Add to ~/.codex/config.json:
{
"mcpServers": {
"phabricator": {
"command": "npx",
"args": ["@freelancercom/phabricator-mcp@latest"],
"env": {
"PHABRICATOR_URL": "https://phabricator.example.com",
"PHABRICATOR_API_TOKEN": "api-xxxxx"
}
}
}
}
Add to ~/.config/opencode/config.json:
{
"mcp": {
"servers": {
"phabricator": {
"command": "npx",
"args": ["@freelancercom/phabricator-mcp@latest"],
"env": {
"PHABRICATOR_URL": "https://phabricator.example.com",
"PHABRICATOR_API_TOKEN": "api-xxxxx"
}
}
}
}
}
Add to VS Code settings.json:
{
"claude.mcpServers": {
"phabricator": {
"command": "npx",
"args": ["@freelancercom/phabricator-mcp@latest"],
"env": {
"PHABRICATOR_URL": "https://phabricator.example.com",
"PHABRICATOR_API_TOKEN": "api-xxxxx"
}
}
}
}
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"phabricator": {
"command": "npx",
"args": ["@freelancercom/phabricator-mcp@latest"],
"env": {
"PHABRICATOR_URL": "https://phabricator.example.com",
"PHABRICATOR_API_TOKEN": "api-xxxxx"
}
}
}
}
Add to VS Code settings.json:
{
"github.copilot.chat.mcp.servers": {
"phabricator": {
"command": "npx",
"args": ["@freelancercom/phabricator-mcp@latest"],
"env": {
"PHABRICATOR_URL": "https://phabricator.example.com",
"PHABRICATOR_API_TOKEN": "api-xxxxx"
}
}
}
}
59 tools across 15 Phabricator apps
Maniphest
task_search·task_createtask_edit·task_add_commenttask_status_search·task_priority_search
Differential
revision_search·revision_editrevision_inline_commentdiff_raw·diff_searchrevision_paths
Diffusion
repository_search·commit_searchrepository_browse·repository_file_contentbranch_search·tag_searchrepository_file_history·repository_code_searchrepository_edit
Users & Projects
user_whoami·user_searchproject_search·project_editcolumn_search
Phriction & Pastes
document_search·document_createdocument_edit·document_add_commentpaste_search·paste_create·paste_edit
Phame
blog_search·blog_post_searchblog_post_create·blog_post_editblog_post_add_comment
Transactions
transaction_search
Files
file_upload·file_searchfile_info
Harbormaster
buildable_search·build_searchbuild_target_search·build_log_searchbuild_command·build_plan_search
Owners
owners_search
Feed
feed_query
Conpherence
conpherence_search·conpherence_createconpherence_edit·conpherence_readconpherence_send
Audits
audit_query
PHID Utilities
phid_lookup·phid_query
Server
version
Upgrading
The default install uses @freelancercom/phabricator-mcp@latest, which tells npx to check for updates on each run. No action needed.
If you pinned a specific version (e.g. @freelancercom/phabricator-mcp@1.0.0) or omitted the version suffix, npx caches the package and won't pick up new versions. To upgrade:
npx clear-npx-cache
Then restart your MCP client.
Migrating from github:freelancer/phabricator-mcp
If you previously installed using the GitHub URL, update your config to use the npm package instead. Replace github:freelancer/phabricator-mcp with @freelancercom/phabricator-mcp@latest in your args. For Claude Code:
claude mcp remove phabricator -s user
claude mcp add --scope user phabricator -- npx @freelancercom/phabricator-mcp@latest
Configuration
The server reads your Phabricator credentials from ~/.arcrc automatically. If you've already run arc install-certificate, you're done.
You can also use environment variables (they take precedence over .arcrc):
PHABRICATOR_URL=https://phabricator.example.com
PHABRICATOR_API_TOKEN=api-xxxxx
Get a token at Settings → Conduit API Tokens in your Phabricator instance.
Claude Code: allow read-only tools
By default Claude asks permission for every tool call. You can allowlist the read-only ones in ~/.claude/settings.json so only writes need confirmation:
{
"permissions": {
"allow": [
"mcp__phabricator__phabricator_task_search",
"mcp__phabricator__phabricator_task_status_search",
"mcp__phabricator__phabricator_task_priority_search",
"mcp__phabricator__phabricator_revision_search",
"mcp__phabricator__phabricator_diff_search",
"mcp__phabricator__phabricator_diff_raw",
"mcp__phabricator__phabricator_revision_paths",
"mcp__phabricator__phabricator_repository_search",
"mcp__phabricator__phabricator_commit_search",
"mcp__phabricator__phabricator_repository_browse",
"mcp__phabricator__phabricator_repository_file_content",
"mcp__phabricator__phabricator_branch_search",
"mcp__phabricator__phabricator_tag_search",
"mcp__phabricator__phabricator_repository_file_history",
"mcp__phabricator__phabricator_repository_code_search",
"mcp__phabricator__phabricator_user_whoami",
"mcp__phabricator__phabricator_user_search",
"mcp__phabricator__phabricator_project_search",
"mcp__phabricator__phabricator_column_search",
"mcp__phabricator__phabricator_paste_search",
"mcp__phabricator__phabricator_document_search",
"mcp__phabricator__phabricator_blog_search",
"mcp__phabricator__phabricator_blog_post_search",
"mcp__phabricator__phabricator_file_search",
"mcp__phabricator__phabricator_file_info",
"mcp__phabricator__phabricator_buildable_search",
"mcp__phabricator__phabricator_build_search",
"mcp__phabricator__phabricator_build_target_search",
"mcp__phabricator__phabricator_build_log_search",
"mcp__phabricator__phabricator_build_plan_search",
"mcp__phabricator__phabricator_owners_search",
"mcp__phabricator__phabricator_feed_query",
"mcp__phabricator__phabricator_conpherence_search",
"mcp__phabricator__phabricator_conpherence_read",
"mcp__phabricator__phabricator_audit_query",
"mcp__phabricator__phabricator_phid_lookup",
"mcp__phabricator__phabricator_phid_query",
"mcp__phabricator__phabricator_transaction_search",
"mcp__phabricator__phabricator_version"
]
}
}
Or just use "mcp__phabricator__*" to allow everything.
FAQ
Do I need to configure anything if I already use Arcanist?
No. The server reads ~/.arcrc automatically. Just install and go.
Which editors are supported?
Anything that speaks MCP: Claude Code, Codex, opencode, VS Code (with Claude extension), Cursor, and GitHub Copilot. If your tool supports MCP, it'll work.
Can it modify tasks and revisions, or is it read-only?
Both. You can search, create, edit, and comment on tasks (including custom fields), revisions, wiki pages, blog posts, and more. 59 tools total.
What is MCP?
Model Context Protocol is an open standard for connecting AI assistants to external tools. Think of it as a USB port for AI — one protocol, many tools.