@sigmaiq/forge-mcp-server
v2.4.2
Published
MCP server for FORGE Develop — enterprise project management & sprint planning on Palantir Foundry. 61 tools covering full CRUD for organizations, products, tasks, sprints, epics, releases, subtasks, dependencies, comments, users, memberships, asks, ask l
Maintainers
Readme
FORGE MCP Server
MCP (Model Context Protocol) server for FORGE Develop — enterprise project management & sprint planning on Palantir Foundry. 58 tools covering full CRUD for all FORGE entities.
Quick Start
npm install -g @sigmaiq/forge-mcp-serverOr run directly:
npx @sigmaiq/forge-mcp-serverEnvironment
| Variable | Required | Description |
|----------|----------|-------------|
| FOUNDRY_TOKEN | Yes | Bearer token for the target Foundry stack |
| FOUNDRY_URL | Yes | Foundry base URL (e.g. https://<your-stack>.palantirfoundry.com) |
| FOUNDRY_ONTOLOGY_RID | Yes | Target ontology RID where FORGE is installed |
| FOUNDRY_ONTOLOGY_NAMESPACE | Yes | Ontology namespace prefix for FORGE object types |
| TRANSPORT | No | stdio (default) or http |
| PORT | No | HTTP port (default: 3100) |
| MCP_API_KEY | No | Optional Bearer auth for HTTP mode |
Configure these values to point the server at the Foundry stack where your FORGE Marketplace installation lives.
Claude Code Configuration
Add to ~/.claude.json:
{
"mcpServers": {
"forge-mcp": {
"command": "npx",
"args": ["-y", "@sigmaiq/forge-mcp-server"],
"env": {
"FOUNDRY_TOKEN": "<your-foundry-token>",
"FOUNDRY_URL": "https://<your-stack>.palantirfoundry.com",
"FOUNDRY_ONTOLOGY_RID": "<your-ontology-rid>",
"FOUNDRY_ONTOLOGY_NAMESPACE": "<your-namespace>"
}
}
}
}Find the ontology RID and namespace in Foundry Ontology Manager on the target stack. Multiple named MCP server entries can point at different stacks simultaneously.
HTTP Mode
TRANSPORT=http PORT=3100 \
FOUNDRY_TOKEN=... \
FOUNDRY_URL=https://<your-stack>.palantirfoundry.com \
FOUNDRY_ONTOLOGY_RID=... \
FOUNDRY_ONTOLOGY_NAMESPACE=... \
npx @sigmaiq/forge-mcp-serverPOST /mcp— MCP protocol endpointGET /health— Health check
Available Tools (55)
Products
| Tool | Description |
|------|-------------|
| forge_list_products | List all active products |
| forge_get_product | Get product by UUID or name (partial match) |
| forge_create_product | Create product with board + columns from template |
| forge_update_product | Update product fields |
| forge_delete_product | Archive product (soft delete) |
Tasks
| Tool | Description |
|------|-------------|
| forge_list_tasks | List tasks with filters (status, priority, sprint, assignee) |
| forge_get_task | Get task by display key (e.g. FORGE-5) or UUID |
| forge_search_tasks | Full-text search across title, key, description |
| forge_create_task | Create task (auto-generates display key) |
| forge_update_task | Update task fields with lifecycle timestamps |
| forge_delete_task | Delete task |
Sprints
| Tool | Description |
|------|-------------|
| forge_list_sprints | List sprints with status filter |
| forge_get_sprint | Get sprint with task summary |
| forge_create_sprint | Create sprint (auto-calculates sprint number) |
| forge_update_sprint | Update sprint fields (name, goal, dates, capacity) |
| forge_update_sprint_status | Start/complete sprint (auto-calculates velocity) |
| forge_delete_sprint | Delete sprint |
Epics
| Tool | Description |
|------|-------------|
| forge_list_epics | List epics with status filter |
| forge_create_epic | Create epic |
| forge_update_epic | Update epic fields |
| forge_delete_epic | Delete epic |
Releases
| Tool | Description |
|------|-------------|
| forge_list_releases | List releases for a product |
| forge_create_release | Create release |
| forge_update_release | Update release fields |
| forge_delete_release | Delete release |
Subtasks
| Tool | Description |
|------|-------------|
| forge_list_subtasks | List subtasks for a task |
| forge_create_subtask | Create subtask on a task |
| forge_update_subtask | Toggle completed, edit title |
| forge_delete_subtask | Delete subtask |
Dependencies
| Tool | Description |
|------|-------------|
| forge_list_dependencies | List "blocked by" dependencies for a task |
| forge_create_dependency | Add blocked-by dependency between two tasks |
| forge_delete_dependency | Remove dependency |
Comments
| Tool | Description |
|------|-------------|
| forge_list_comments | List comments on a task |
| forge_add_comment | Add comment to a task |
| forge_update_comment | Edit comment body |
| forge_delete_comment | Delete comment |
Board
| Tool | Description |
|------|-------------|
| forge_get_board_status | Column summary with task counts and WIP status |
Users
| Tool | Description |
|------|-------------|
| forge_list_users | List all active users |
| forge_create_user | Create SSO or local user |
| forge_update_user | Update user fields (role, status, profile) |
Memberships
| Tool | Description |
|------|-------------|
| forge_list_memberships | List product memberships (by product or user) |
| forge_create_membership | Assign user to product with role |
| forge_delete_membership | Remove user from product |
Asks (Feature Requests)
| Tool | Description |
|------|-------------|
| forge_list_asks | List asks with status filter |
| forge_create_ask | Create feature request |
| forge_update_ask | Update ask fields |
| forge_delete_ask | Delete ask |
Ask Lineage
| Tool | Description |
|------|-------------|
| forge_list_ask_lineage | List downstream work tied to an ask (filter by ask_id, entity_id, product_id, or entity_type) |
| forge_create_ask_lineage | Link a task/epic/sprint/release to an originating ask with reason + link_type |
| forge_delete_ask_lineage | Remove a lineage record (rarely used — audit trail) |
Notifications
| Tool | Description |
|------|-------------|
| forge_list_notifications | List notifications for a user |
| forge_create_notification | Send notification to a user |
| forge_update_notification | Mark read/unread |
| forge_delete_notification | Delete notification |
Activity Log
| Tool | Description |
|------|-------------|
| forge_list_activity_log | List activity entries for an entity |
| forge_create_activity_log | Log an audit trail entry |
Briefing Notebooks
| Tool | Description |
|------|-------------|
| forge_list_briefing_notebooks | List notebooks by product or owner |
| forge_create_briefing_notebook | Create briefing notebook |
| forge_update_briefing_notebook | Update notebook content |
| forge_delete_briefing_notebook | Delete notebook |
Examples
Create a product with a Kanban board
forge_create_product({
name: "Acme Platform",
key_prefix: "ACME",
description: "Main product for Acme Corp",
board_template: "kanban"
})Create and assign a task
forge_create_task({
product_id: "product-uuid",
title: "Implement user authentication",
task_type: "Story",
priority: "High",
assignee_user_id: "user-uuid"
})Plan a sprint
forge_create_sprint({
product_id: "product-uuid",
name: "Sprint 5",
goal: "Complete authentication module",
start_date: "2026-03-30",
end_date: "2026-04-13",
capacity: 40
})Move a task through the workflow
forge_update_task({ identifier: "ACME-12", status: "InProgress" })
forge_update_task({ identifier: "ACME-12", status: "Done" })Break down work with subtasks
forge_create_subtask({
task_identifier: "ACME-12",
title: "Write unit tests for login flow"
})Block a task with a dependency
forge_create_dependency({
source_task_identifier: "ACME-15",
target_task_identifier: "ACME-12"
})Complete a sprint (auto-calculates velocity)
forge_update_sprint_status({ sprint_id: "sprint-uuid", new_status: "Completed" })Natural language in Claude Code
> List my FORGE products
> Show all InProgress tasks for Acme Platform
> Create a high-priority bug "Login button unresponsive" in ACME
> Move ACME-12 to Done
> What's the board status for Acme?
> Add a subtask "Write tests" to ACME-12
> Assign [email protected] to the Acme Platform product as a MemberArchitecture
- Uses Foundry v2 REST API directly (no OSDK npm packages needed)
- Communicates via stdio (default) or HTTP
- All update actions send full payloads to prevent OSDK data wipe
- Task identifiers accept display keys (e.g.
ACME-12) or UUIDs - Product creation auto-provisions board + columns from templates
Board Templates
| Template | Columns | Description |
|----------|---------|-------------|
| scrum | 8 | Backlog, To Do, In Progress, In Review, QA, Done, Blocked, Cancelled |
| kanban | 6 | Backlog, Ready, Doing, Testing, Done, Blocked (with WIP limits) |
| bug-triage | 8 | New, Triaged, Investigating, Fix in Progress, Verify, Resolved, On Hold, Won't Fix |
| simple | 3 | To Do, In Progress, Done |
