Targetprocess MCP Server
Enables AI assistants to interact with Targetprocess for search, create, update, and query of entities like User Stories and Bugs, with support for complex filters and data model discovery.
README
Targetprocess MCP Server
The Model Context Protocol (MCP) is a standard that enables AI assistants to interact with external tools and services through a unified interface. MCP servers provide these capabilities by exposing tools and resources that AI assistants can use to accomplish tasks.
This MCP server provides tools for interacting with Targetprocess, a project management and agile planning platform. It enables AI assistants to:
- Search and retrieve Targetprocess entities (User Stories, Bugs, Tasks, Features, etc.)
- Create and update entities with proper validation
- Query entities with complex filters and includes
- Inspect and discover the Targetprocess data model
- Handle authentication and API interactions safely
Key Features
- Data Model Discovery: Explore and understand complex Targetprocess implementations
- Powerful Querying: Use complex filters and includes to retrieve exactly the data you need
- Entity Management: Create and update entities with proper validation
- Relationship Exploration: Understand how different entities relate to each other
- Error Handling: Robust error handling with retries and informative messages
- Documentation Integration: Built-in access to Targetprocess documentation
Use Cases
This MCP server is particularly valuable in corporate settings where Targetprocess might handle millions of records with complex schemas and data models. Common use cases include:
- Data Model Discovery: Map and understand complex Targetprocess implementations
- Enterprise Analytics: Extract and analyze data across millions of records
- Cross-System Integration: Use as a bridge between Targetprocess and other systems
- Custom Reporting: Build specialized reports not available in the standard UI
- Batch Operations: Manage large-scale changes across many entities
- Schema Exploration: Discover custom fields and relationships in complex implementations
For detailed examples and implementation guides, see USECASES.md.
Getting Started
Clone the repository recursively to include the documentation search tool:
git clone --recursive https://github.com/aaronsb/apptio-target-process-mcp.git
cd apptio-target-process-mcp
Development Resources
Documentation Search
This repository includes a documentation scraper/searcher for Targetprocess developer documentation as a submodule. You can use it to quickly search through Targetprocess's documentation:
# From the project root:
pushd resources/target-process-docs && npm install && ./refresh-docs.sh && popd # First time setup
# To search documentation (from any directory):
pushd resources/target-process-docs && ./search-docs.sh "your search query" && popd
# Example search:
pushd resources/target-process-docs && ./search-docs.sh "entity states" && popd
The search tool is located in resources/target-process-docs. We use pushd/popd commands here because:
- The tool requires access to its database files using relative paths
- pushd saves your current directory location
- Temporarily changes to the tool's directory to run the command
- popd automatically returns you to your previous location This approach lets you run searches from any directory while ensuring the tool can find its database files.
This tool provides a powerful way to search through Targetprocess's developer documentation locally. The search results include relevant documentation sections with context, making it easier to find specific API details or implementation guidance.
CI/CD Pipeline
The project uses GitHub Actions for automated builds:
- Pushes to
mainbranch trigger new container builds - Version tags (v*..) create versioned releases
- Images are published to GitHub Container Registry
You can use the published image:
docker run -i --rm \
-e TP_DOMAIN=your-domain.tpondemand.com \
-e TP_USERNAME=your-username \
-e TP_PASSWORD=your-password \
ghcr.io/aaronsb/apptio-target-process-mcp
Environment Variables
TP_DOMAIN: Your Targetprocess domain (e.g., company.tpondemand.com)TP_USERNAME: Your Targetprocess usernameTP_PASSWORD: Your Targetprocess password
Local Development with Docker
For local development and testing, use the provided scripts:
- Build the local image:
Note: The build script uses Docker's quiet mode by default to minimize log output. This is intentional to reduce AI token consumption when interacting with tools like Cline that process the build output. In quiet mode, the full build log is saved to
/tmp/apptio-target-process-mcp/docker-build.log. Use--verboseflag to see build output directly in the terminal.
./scripts/build-local.sh # Quiet mode (default), logs to file
./scripts/build-local.sh --verbose # Full build output in terminal
- Run the local image:
./scripts/run-local.sh
- Configure Cline:
Edit
~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json:
{
"mcpServers": {
"targetprocess": {
"command": "./scripts/run-local.sh",
"disabled": false,
"autoApprove": []
}
}
}
Local Development without Docker
Prerequisites
- Node.js 20 or later
- npm
Setup
- Clone the repository recursively:
git clone --recursive https://github.com/modelcontextprotocol/targetprocess-mcp.git
cd targetprocess-mcp
Note: The --recursive flag is required to also clone the documentation search tool submodule.
- Install dependencies:
npm install
- Copy the example config:
cp config/targetprocess.example.json config/targetprocess.json
- Edit
config/targetprocess.jsonwith your Targetprocess credentials.
Building
npm run build
Running
node build/index.js
API Capabilities
For detailed examples and common use cases, see USECASES.md.
The MCP server provides the following tools for interacting with Targetprocess:
search_entities
Search for Targetprocess entities (UserStory, Bug, Task, Feature) with filtering and includes.
{
"type": "UserStory", // Required: Entity type to search for
"where": "EntityState.Name eq 'Open'", // Optional: Filter expression
"take": 10, // Optional: Number of items to return (default: 100, max: 1000)
"include": ["Project", "Team"] // Optional: Related data to include
}
get_entity
Get detailed information about a specific entity.
{
"type": "UserStory", // Required: Entity type
"id": 123456, // Required: Entity ID
"include": ["Project", "Team"] // Optional: Related data to include
}
create_entity
Create a new entity in Targetprocess.
{
"type": "UserStory", // Required: Entity type to create
"name": "Story Name", // Required: Entity name
"description": "Details...", // Optional: Entity description
"project": { // Required: Project to create in
"id": 123
},
"team": { // Optional: Team to assign
"id": 456
}
}
update_entity
Update an existing entity.
{
"type": "UserStory", // Required: Entity type
"id": 123456, // Required: Entity ID
"fields": { // Required: Fields to update
"name": "New Name",
"description": "New description",
"status": {
"id": 789
}
}
}
inspect_object
Inspect Targetprocess objects and properties through the API.
{
"action": "list_types", // Required: Action to perform
"entityType": "UserStory", // Required for some actions: Entity type to inspect
"propertyName": "Description" // Required for some actions: Property to inspect
}
Performance Considerations
When working with large Targetprocess instances that may contain millions of records:
- Use Specific Queries: Always use the most specific query possible to limit result sets
- Limit Result Size: Use the
takeparameter to limit the number of results returned - Include Only Necessary Data: Only include related data that you actually need
- Consider Pagination: For large result sets, implement pagination in your application
- Batch Operations: For bulk operations, consider batching requests to avoid overloading the API
LLM Integration
This MCP server can be used with various AI assistants that support the Model Context Protocol:
- Cline - A CLI-based AI assistant
- Claude Desktop - Anthropic's desktop application
- Goose - A local AI assistant
For configuration and setup instructions, see llms-install.md.
Configuration
The server can be configured either through environment variables or a JSON config file.
Config File Format
{
"domain": "your-domain.tpondemand.com",
"credentials": {
"username": "your-username",
"password": "your-password"
}
}
License
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。