{"id":44917708,"url":"https://github.com/freelancer/phabricator-mcp","last_synced_at":"2026-03-02T15:01:40.687Z","repository":{"id":334932271,"uuid":"1143441403","full_name":"freelancer/phabricator-mcp","owner":"freelancer","description":"MCP server for Phabricator","archived":false,"fork":false,"pushed_at":"2026-02-20T11:36:12.000Z","size":103,"stargazers_count":10,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-20T15:57:01.974Z","etag":null,"topics":["ai","claude","conduit-api","mcp","model-context-protocol","phabricator"],"latest_commit_sha":null,"homepage":"https://freelancer.github.io/phabricator-mcp/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/freelancer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-27T15:31:16.000Z","updated_at":"2026-02-20T11:36:09.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/freelancer/phabricator-mcp","commit_stats":null,"previous_names":["freelancer/phabricator-mcp"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/freelancer/phabricator-mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freelancer%2Fphabricator-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freelancer%2Fphabricator-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freelancer%2Fphabricator-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freelancer%2Fphabricator-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/freelancer","download_url":"https://codeload.github.com/freelancer/phabricator-mcp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freelancer%2Fphabricator-mcp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29999219,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-02T09:59:02.300Z","status":"ssl_error","status_checked_at":"2026-03-02T09:59:02.001Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","claude","conduit-api","mcp","model-context-protocol","phabricator"],"created_at":"2026-02-18T02:36:28.099Z","updated_at":"2026-03-02T15:01:40.678Z","avatar_url":"https://github.com/freelancer.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# phabricator-mcp\n\nAn [MCP (Model Context Protocol)](https://modelcontextprotocol.io/) server that wraps Phabricator's Conduit API, enabling any MCP client to interact with Phabricator tasks, code reviews, repositories, and more.\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=freelancer/phabricator-mcp\u0026type=Date)](https://star-history.com/#freelancer/phabricator-mcp\u0026Date)\n\n## Installation\n\n### Claude Code (CLI)\n\n```bash\nclaude mcp add --scope user phabricator -- npx @freelancercom/phabricator-mcp@latest\n```\n\nOr with environment variables (if not using `~/.arcrc`):\n\n```bash\nclaude mcp add --scope user phabricator \\\n  -e PHABRICATOR_URL=https://phabricator.example.com \\\n  -e PHABRICATOR_API_TOKEN=api-xxxxx \\\n  -- npx @freelancercom/phabricator-mcp@latest\n```\n\nThe `--scope user` flag installs the server globally, making it available in all projects.\n\n### Codex (OpenAI CLI)\n\nAdd to your Codex config (`~/.codex/config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"phabricator\": {\n      \"command\": \"npx\",\n      \"args\": [\"@freelancercom/phabricator-mcp@latest\"],\n      \"env\": {\n        \"PHABRICATOR_URL\": \"https://phabricator.example.com\",\n        \"PHABRICATOR_API_TOKEN\": \"api-xxxxxxxxxxxxx\"\n      }\n    }\n  }\n}\n```\n\n### opencode\n\nAdd to your opencode config (`~/.config/opencode/config.json`):\n\n```json\n{\n  \"mcp\": {\n    \"servers\": {\n      \"phabricator\": {\n        \"command\": \"npx\",\n        \"args\": [\"@freelancercom/phabricator-mcp@latest\"],\n        \"env\": {\n          \"PHABRICATOR_URL\": \"https://phabricator.example.com\",\n          \"PHABRICATOR_API_TOKEN\": \"api-xxxxxxxxxxxxx\"\n        }\n      }\n    }\n  }\n}\n```\n\n### VS Code with Claude Extension\n\nAdd to your VS Code `settings.json`:\n\n```json\n{\n  \"claude.mcpServers\": {\n    \"phabricator\": {\n      \"command\": \"npx\",\n      \"args\": [\"@freelancercom/phabricator-mcp@latest\"],\n      \"env\": {\n        \"PHABRICATOR_URL\": \"https://phabricator.example.com\",\n        \"PHABRICATOR_API_TOKEN\": \"api-xxxxxxxxxxxxx\"\n      }\n    }\n  }\n}\n```\n\n### Cursor\n\nAdd to your Cursor MCP config (`~/.cursor/mcp.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"phabricator\": {\n      \"command\": \"npx\",\n      \"args\": [\"@freelancercom/phabricator-mcp@latest\"],\n      \"env\": {\n        \"PHABRICATOR_URL\": \"https://phabricator.example.com\",\n        \"PHABRICATOR_API_TOKEN\": \"api-xxxxxxxxxxxxx\"\n      }\n    }\n  }\n}\n```\n\n### GitHub Copilot (VS Code)\n\nAdd to your VS Code `settings.json`:\n\n```json\n{\n  \"github.copilot.chat.mcp.servers\": {\n    \"phabricator\": {\n      \"command\": \"npx\",\n      \"args\": [\"@freelancercom/phabricator-mcp@latest\"],\n      \"env\": {\n        \"PHABRICATOR_URL\": \"https://phabricator.example.com\",\n        \"PHABRICATOR_API_TOKEN\": \"api-xxxxxxxxxxxxx\"\n      }\n    }\n  }\n}\n```\n\n## Upgrading\n\nThe default install uses `@freelancercom/phabricator-mcp@latest`, which tells npx to check for updates on each run. No action needed.\n\nIf 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:\n\n```bash\nnpx clear-npx-cache\n```\n\nThen restart your MCP client.\n\n### Migrating from `github:freelancer/phabricator-mcp`\n\nIf you previously installed using the GitHub URL, update your config to use the npm package instead:\n\n```bash\n# Remove old server\nclaude mcp remove phabricator -s user\n\n# Add new one\nclaude mcp add --scope user phabricator -- npx @freelancercom/phabricator-mcp@latest\n```\n\nFor JSON configs, replace `[\"github:freelancer/phabricator-mcp\"]` with `[\"@freelancercom/phabricator-mcp@latest\"]` in your args.\n\n## Configuration\n\nThe server automatically reads configuration from `~/.arcrc` (created by [Arcanist](https://secure.phabricator.com/book/phabricator/article/arcanist/)). No additional configuration is needed if you've already set up `arc`.\n\nAlternatively, set environment variables (which take precedence over `.arcrc`):\n\n- `PHABRICATOR_URL` - Phabricator instance URL\n- `PHABRICATOR_API_TOKEN` - Conduit API token\n\nYou can get an API token from your Phabricator instance at: **Settings \u003e Conduit API Tokens**\n\n### Recommended: Allow Read-Only Tool Permissions\n\nBy default, Claude Code will prompt you for permission each time a Phabricator tool is called. It's recommended to allowlist the read-only tools so they run without prompts, while keeping write operations (create, edit, comment) behind a confirmation step.\n\nAdd to your `~/.claude/settings.json`:\n\n```json\n{\n  \"permissions\": {\n    \"allow\": [\n      \"mcp__phabricator__phabricator_task_search\",\n      \"mcp__phabricator__phabricator_task_status_search\",\n      \"mcp__phabricator__phabricator_task_priority_search\",\n      \"mcp__phabricator__phabricator_revision_search\",\n      \"mcp__phabricator__phabricator_diff_search\",\n      \"mcp__phabricator__phabricator_diff_raw\",\n      \"mcp__phabricator__phabricator_revision_paths\",\n      \"mcp__phabricator__phabricator_repository_search\",\n      \"mcp__phabricator__phabricator_commit_search\",\n      \"mcp__phabricator__phabricator_repository_browse\",\n      \"mcp__phabricator__phabricator_repository_file_content\",\n      \"mcp__phabricator__phabricator_branch_search\",\n      \"mcp__phabricator__phabricator_tag_search\",\n      \"mcp__phabricator__phabricator_repository_file_history\",\n      \"mcp__phabricator__phabricator_repository_code_search\",\n      \"mcp__phabricator__phabricator_user_whoami\",\n      \"mcp__phabricator__phabricator_user_search\",\n      \"mcp__phabricator__phabricator_project_search\",\n      \"mcp__phabricator__phabricator_column_search\",\n      \"mcp__phabricator__phabricator_paste_search\",\n      \"mcp__phabricator__phabricator_document_search\",\n      \"mcp__phabricator__phabricator_blog_search\",\n      \"mcp__phabricator__phabricator_blog_post_search\",\n      \"mcp__phabricator__phabricator_file_search\",\n      \"mcp__phabricator__phabricator_file_info\",\n      \"mcp__phabricator__phabricator_buildable_search\",\n      \"mcp__phabricator__phabricator_build_search\",\n      \"mcp__phabricator__phabricator_build_target_search\",\n      \"mcp__phabricator__phabricator_build_log_search\",\n      \"mcp__phabricator__phabricator_build_plan_search\",\n      \"mcp__phabricator__phabricator_owners_search\",\n      \"mcp__phabricator__phabricator_feed_query\",\n      \"mcp__phabricator__phabricator_conpherence_search\",\n      \"mcp__phabricator__phabricator_conpherence_read\",\n      \"mcp__phabricator__phabricator_audit_query\",\n      \"mcp__phabricator__phabricator_phid_lookup\",\n      \"mcp__phabricator__phabricator_phid_query\",\n      \"mcp__phabricator__phabricator_transaction_search\",\n      \"mcp__phabricator__phabricator_version\"\n    ]\n  }\n}\n```\n\nTo allowlist all tools including write operations, use `\"mcp__phabricator__*\"` instead.\n\n## Available Tools\n\n### Task Management (Maniphest)\n\n| Tool | Description |\n|------|-------------|\n| `phabricator_task_search` | Search tasks with filters (status, assignee, project, etc.) |\n| `phabricator_task_create` | Create a new task |\n| `phabricator_task_edit` | Edit an existing task |\n| `phabricator_task_add_comment` | Add a comment to a task |\n| `phabricator_task_status_search` | List all available task statuses on the instance |\n| `phabricator_task_priority_search` | List all available task priorities on the instance |\n\n### Code Reviews (Differential)\n\n| Tool | Description |\n|------|-------------|\n| `phabricator_revision_search` | Search code review revisions |\n| `phabricator_revision_edit` | Edit a revision (accept, reject, abandon, add reviewers, comment, etc.) |\n| `phabricator_revision_inline_comment` | Create an inline comment on a specific line of a diff |\n| `phabricator_diff_raw` | Get the raw diff/patch content for a diff by ID |\n| `phabricator_diff_search` | Search diffs (code change snapshots within a revision) |\n| `phabricator_revision_paths` | Get the list of changed file paths for a revision |\n\n### Repositories (Diffusion)\n\n| Tool | Description |\n|------|-------------|\n| `phabricator_repository_search` | Search repositories |\n| `phabricator_commit_search` | Search commits |\n| `phabricator_repository_browse` | Browse a repository directory tree |\n| `phabricator_repository_file_content` | Read file contents from a repository |\n| `phabricator_branch_search` | List branches in a repository |\n| `phabricator_tag_search` | List tags in a repository |\n| `phabricator_repository_file_history` | Get commit history for a file path |\n| `phabricator_repository_code_search` | Search (grep) file contents within a repository |\n| `phabricator_repository_edit` | Create or edit a Diffusion repository |\n\n### Users\n\n| Tool | Description |\n|------|-------------|\n| `phabricator_user_whoami` | Get current authenticated user |\n| `phabricator_user_search` | Search users |\n\n### Projects\n\n| Tool | Description |\n|------|-------------|\n| `phabricator_project_search` | Search projects |\n| `phabricator_project_edit` | Create or edit a project |\n| `phabricator_column_search` | Search workboard columns |\n\n### Pastes\n\n| Tool | Description |\n|------|-------------|\n| `phabricator_paste_search` | Search pastes |\n| `phabricator_paste_create` | Create a paste |\n| `phabricator_paste_edit` | Edit an existing paste |\n\n### Wiki (Phriction)\n\n| Tool | Description |\n|------|-------------|\n| `phabricator_document_search` | Search wiki documents |\n| `phabricator_document_edit` | Create or edit a wiki document |\n| `phabricator_document_add_comment` | Add a comment to a wiki document |\n\n### Blogs (Phame)\n\n| Tool | Description |\n|------|-------------|\n| `phabricator_blog_search` | Search Phame blogs |\n| `phabricator_blog_post_search` | Search blog posts |\n| `phabricator_blog_post_create` | Create a new blog post |\n| `phabricator_blog_post_edit` | Edit an existing blog post |\n| `phabricator_blog_post_add_comment` | Add a comment to a blog post |\n\n### Transactions\n\n| Tool | Description |\n|------|-------------|\n| `phabricator_transaction_search` | Search transactions (comments, status changes, etc.) on any object |\n\n### Files\n\n| Tool | Description |\n|------|-------------|\n| `phabricator_file_upload` | Upload a file and get an ID for embedding in descriptions/comments via `{F\u003cid\u003e}` |\n| `phabricator_file_search` | Search for files |\n| `phabricator_file_info` | Get file metadata (name, size, MIME type, URI) |\n\n### Builds (Harbormaster)\n\n| Tool | Description |\n|------|-------------|\n| `phabricator_buildable_search` | Search buildables (revisions/commits with builds) |\n| `phabricator_build_search` | Search builds (CI/build results) |\n| `phabricator_build_target_search` | Search build targets (individual build steps) |\n| `phabricator_build_log_search` | Search build logs (output from build steps) |\n| `phabricator_build_command` | Report build status to Harbormaster (pass, fail, work) |\n| `phabricator_build_plan_search` | Search build plans (CI pipeline configurations) |\n\n### Code Ownership (Owners)\n\n| Tool | Description |\n|------|-------------|\n| `phabricator_owners_search` | Search code ownership packages |\n\n### Activity Feed\n\n| Tool | Description |\n|------|-------------|\n| `phabricator_feed_query` | Query the activity feed (recent task updates, revision changes, commits, etc.) |\n\n### Chat (Conpherence)\n\n| Tool | Description |\n|------|-------------|\n| `phabricator_conpherence_search` | Search chat rooms/threads |\n| `phabricator_conpherence_create` | Create a new chat room/thread |\n| `phabricator_conpherence_edit` | Edit a chat room (rename, manage participants) |\n| `phabricator_conpherence_read` | Read messages from a chat thread |\n| `phabricator_conpherence_send` | Send a message to a chat thread |\n\n### Audits\n\n| Tool | Description |\n|------|-------------|\n| `phabricator_audit_query` | Search commit audit requests |\n\n### PHID Utilities\n\n| Tool | Description |\n|------|-------------|\n| `phabricator_phid_lookup` | Look up PHIDs by name (e.g., \"T123\", \"@username\") |\n| `phabricator_phid_query` | Get details about PHIDs |\n\n### Server\n\n| Tool | Description |\n|------|-------------|\n| `phabricator_version` | Get the version of the running phabricator-mcp server |\n\n## Usage\n\nOnce connected, just ask your AI assistant to perform Phabricator tasks in natural language:\n\n**Tasks**\n- \"Show my assigned tasks\"\n- \"Create a task titled 'Fix login bug' in project Backend\"\n- \"Add a comment to T12345 saying the fix is ready for review\"\n- \"Close task T12345\"\n- \"What custom fields are available for incident tasks?\"\n- \"Set the start date and root cause category on T12345\"\n- \"Make T456 a subtask of T123\"\n- \"Upload this screenshot and add it to the description of T789\"\n\n**Code Reviews**\n- \"Show my open diffs\"\n- \"What's the status of D6789?\"\n- \"Review the code changes in D6789\"\n- \"Add @alice as a reviewer to D6789\"\n- \"Accept D6789\"\n- \"Leave an inline comment on line 42 of src/index.ts in D6789\"\n\n**Repositories \u0026 Builds**\n- \"Show me the contents of src/config.ts in repo Backend\"\n- \"Browse the /src directory in the main repo\"\n- \"Is the build passing on D6789?\"\n- \"Show me the build logs for D6789\"\n- \"Who owns the code in /src/auth/?\"\n\n**Search \u0026 Lookup**\n- \"Find user john.doe\"\n- \"Search for projects with 'backend' in the name\"\n- \"Search commits by author alice\"\n- \"Look up T123 and D456\"\n- \"Show me the comments on D6789\"\n\n**Wiki \u0026 Pastes**\n- \"Find wiki pages about deployment\"\n- \"Create a paste with this error log\"\n\n**Blogs**\n- \"Search for blog posts about release notes\"\n- \"Create a new draft blog post titled 'Q1 Update' on the engineering blog\"\n- \"Publish blog post J42\"\n- \"Add a comment to blog post J15\"\n\nThe appropriate tools are called automatically based on your request.\n\n## Development\n\n```bash\ngit clone https://github.com/freelancer/phabricator-mcp.git\ncd phabricator-mcp\nnpm install\nnpm run build\nnpm run dev  # watch mode\n```\n\n### Architecture\n\n- `src/index.ts` - Entry point, MCP server with stdio transport\n- `src/config.ts` - Config loader (reads `~/.arcrc` or env vars)\n- `src/client/conduit.ts` - Phabricator Conduit API client\n- `src/tools/*.ts` - Tool implementations per Phabricator application\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreelancer%2Fphabricator-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffreelancer%2Fphabricator-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreelancer%2Fphabricator-mcp/lists"}