Targetprocess MCP Server
An MCP (Model Context Protocol) server that enables AI assistants to interact with the Targetprocess project management platform through structured tools and natural language workflows.
This server exposes powerful capabilities for querying, creating, and managing Targetprocess entities such as user stories, bugs, tasks, and features.
It acts as a bridge between LLM agents and the Targetprocess API, providing:
- Structured tool-based access
- Semantic, natural-language-driven workflows
Features
-
Create standalone bugs or bugs linked to a user story/bug card
-
Retrieve TP entities: bugs, user stories, features, releases
-
LLM-Friendly Tools
- Designed for Claude MCP AI agents
Use Cases examples:
Available tools:
Releases
get_current_releases β List all current releases (no params needed)
get_release_bugs β Get bugs for a release (name, optional results)
get_release_features β Get features for a release (name, optional results)
get_release_user_stories β Get user stories for a release (name, optional results)
get_release_user_stories_with_description β Same as above but includes full descriptions (name, withDescription)
get_release_open_bugs β Get only active/open bugs for a release (name, withDescription, optional results)
get_release_open_user_stories β Get only active/open user stories for a release (name, withDescription, optional results)
Features
get_feature_content β Get a Targetprocess Feature by ID, including description, state, and progress (id)
get_feature_comments β Get comments for a feature by its ID (id, optional results)
get_feature_user_stories β Get all user stories for a feature by its ID (id)
get_not_covered_user_stories_in_feature β Get user stories in a feature not yet covered by tests, includes covered field based on "Test Automation" custom field (id)
User Stories
get_user_story_bugs β Get all bugs linked to a user story by its ID (id)
Tasks
get_in_progress_tasks_and_bugs β Get all Tasks and Bugs currently in "In Progress" state assigned to a given user (userId)
create_task β Create a new task linked to a user story (title, userStoryId, optional description)
list_my_user_stories β List User Stories assigned to the current user, optionally filtered by state (optional state, optional take, optional skip)
list_my_bugs β List Bugs assigned to the current user, optionally filtered by state (optional state, optional take, optional skip)
Cards β Read
get_card_current_status β Get EntityState, TeamState, and assigned teams for a card (id, optional resourceType: UserStory | Bug | Feature, default: UserStory)
get_bug_content β Fetch full content of a bug by ID (id)
get_user_story_content β Fetch full content of a user story by ID (id)
get_bug_comments β Get comments on a bug (id, optional results)
get_user_story_comments β Get comments on a user story (id, optional results)
get_user_story_test_cases β Fetch the linked test plan and all its test cases (with steps) for a user story (resourceId)
get_card_relations β Get all relations (Dependency, Blocker, Relation, Link, Duplicate) for a card, with direction and the related card (id)
get_relation_types β List the relation types available in this instance (id + name); use to find the relationType name for create_card_relation (no params)
search_tp_cards β Search TP cards by keyword or phrase in description (keyword, optional entityType: UserStories | Bugs, default: UserStories)
Cards β Write
add_comment β Post a comment to any card (id, comment)
add_comment_with_user β Post a comment to any card and mention a specific user (id, comment, user object from get_users)
update_bug β Update an existing bug (id, optional title, optional bugContent, optional origin, optional projectId, optional teamId, optional entityStateId)
Resolve state name β ID via get_bug_workflows before passing entityStateId
update_user_story β Update an existing user story (id, optional title, optional description, optional projectId, optional teamId, optional entityStateId)
Resolve state name β ID via get_user_story_workflows before passing entityStateId
create_card_relation β Create a relation between two cards (masterId, slaveId, optional relationType name, default: "Depends on")
The Slave depends on the Master β the Master must be done first
relationType is matched by name against this instance's types; resolve exact names via get_relation_types (it's resolved to an ID before the API call, since TP rejects relation types passed by name)
delete_card_relation β Remove a relation by its relation ID (relationId)
Get the relationId from get_card_relations first β it's the relation's own ID, not a card ID
update_user_story_state β Update the sub-state (team assignment entity state) for a user story (id, optional entityStateId, optional teamId, optional teamAssignmentId)
- Call
get_user_story_content first to find the assigned team and teamAssignmentId
- Call
get_user_story_workflows to resolve the target state name β entityStateId
set_business_value β Set the Business Value (Priority) on a User Story, Feature, or Epic (id, entityType: UserStories | Features | Epics, priorityId)
Resolve priorityId via get_priorities first β do not guess priority IDs
get_priorities β List the Priority options available in this instance, used to resolve a priority name (e.g. "Must Have") to its ID (no params)
delete_card β Delete a card by ID; works on Bugs, User Stories, Features, and Epics (id, type: Bug | UserStory | Feature | Epic)
If the type is uncertain, resolve it first via search_tp_cards or by fetching the card
create_bug β Create a standalone bug (title, bugContent, optional origin, optional projectId, optional teamId, optional entityStateName)
origin accepted values: Production - Customer, Production - Internal, Pre-Release - Customer, Pre-Release - Internal, Regression - Dev01, Regression - Team Env, Manual QA (default), Developer Raised, Operations
entityStateName accepted values: Backlog, In Triage, Ready for Dev, In Dev, Blocked, PR Raised, Ready for Feature PCH, Ready for Feature QA, In Feature QA, Failed Feature QA, Ready for Merge, Ready to Deploy to Dev01, Ready for Dev01 QA, In Dev01 QA, Failed Dev01 QA, Ready to Deploy to prod, Closed
[!NOTE]
projectId and teamId are optional β fall back to TP_PROJECT_ID and TP_TEAM_ID from config
create_bug_based_on_card β Create a bug linked to an existing user story or bug card (card object with id+type, title, bugContent, optional origin, optional projectId, optional teamId)
[!NOTE]
projectId and teamId are optional β fall back to TP_PROJECT_ID and TP_TEAM_ID from config
create_user_story β Create a new user story (title, optional description, optional featureId, optional releaseId, optional projectId, optional teamId)
[!NOTE]
projectId and teamId are optional β fall back to TP_PROJECT_ID and TP_TEAM_ID from config
create_formatted_user_story β Create a new user story with a structured template description in Header β Definitions β Scenarios β Examples Table β Edge Cases β Acceptance Criteria β References β Notes order (title, header object with asA/iWant/soThat, scenarios array with Gherkin steps, acceptanceCriteria array, optional definitions, examplesTable, edgeCases, references, notes, optional featureId, releaseId, projectId, teamId)
[!NOTE]
projectId and teamId are optional β fall back to TP_PROJECT_ID and TP_TEAM_ID from config
create_epic β Create a new epic (title, optional description, optional releaseId, optional projectId)
get_epic_content β Get a Targetprocess Epic by ID, including description, state, and progress (id)
update_epic β Update an epic's title, description, release, or project (id, optional title, optional description, optional releaseId, optional projectId)
get_epic_features β Get all features belonging to an epic (id)
create_feature β DEPRECATED, use create_formatted_feature instead for all new features; only call this when you have a fully pre-written HTML description and the user has explicitly opted out of the structured template (title, optional description, optional epicId, optional releaseId, optional projectId, optional teamId)
[!NOTE]
projectId and teamId are optional β fall back to TP_PROJECT_ID and TP_TEAM_ID from config
create_formatted_feature β Create a new feature with a feature-level TDRE template in Header β Definitions β Scope & Boundaries β Non-Functional Requirements β Cross-Cutting Scenarios β Child Stories β Open Questions/Risks β References β Notes order (title, header object with businessBackground, nonFunctionalRequirements array with area/requirement/status/storyOrOwner, optional definitions, scope, crossCuttingScenarios, childStories, openQuestions, references, notes, optional epicId, releaseId, projectId, teamId)