Alphaws/apiport-mcp-server
If you are the rightful owner of apiport-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The ApiPort MCP Server is designed for seamless integration with the ApiPort Task Manager, providing a robust set of tools for project and sprint management.
ApiPort MCP Server
Model Context Protocol (MCP) server for ApiPort Task Manager integration.
Features
Tools
list_projects- List all accessible projectsget_project- Get detailed project informationlist_sprints- List sprints for a projectget_sprint- Get detailed sprint informationcreate_sprint- Create a new sprintactivate_sprint- Activate a planned sprintclose_sprint- Close an active sprintlist_work_items- List work items for a projectget_work_item- Get detailed work item informationcreate_work_item- Create a new work itemupdate_work_item- Update work item detailsget_backlog- Get backlog items for a projectbulk_assign_to_sprint- Assign multiple work items to a sprintadd_sprint_member- Add a team member to a sprintgenerate_sprint_report- Generate sprint statistics and report
Resources
project://{project_id}- Project details with metadatasprint://{sprint_id}- Sprint details with statisticsbacklog://{project_id}- Project backlog items
Installation
Prerequisites
- Python 3.10 or higher
- Access to ApiPort API (https://api.apiport.hu)
Setup
-
Clone or download this repository
-
Install dependencies:
pip install -e .
- Create
.envfile in the project root:
APIPORT_API_URL=https://api.apiport.hu
APIPORT_EMAIL=your-email@example.com
APIPORT_PASSWORD=your-password
Configure Claude Desktop
Add to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"apiport": {
"command": "python",
"args": [
"-m",
"apiport_mcp_server"
],
"env": {
"APIPORT_API_URL": "https://api.apiport.hu",
"APIPORT_EMAIL": "your-email@example.com",
"APIPORT_PASSWORD": "your-password"
}
}
}
}
Or using uv (recommended):
{
"mcpServers": {
"apiport": {
"command": "uv",
"args": [
"--directory",
"/path/to/apiport-mcp-server",
"run",
"apiport-mcp-server"
],
"env": {
"APIPORT_API_URL": "https://api.apiport.hu",
"APIPORT_EMAIL": "your-email@example.com",
"APIPORT_PASSWORD": "your-password"
}
}
}
}
Usage Examples
List Projects
Claude, can you list all my ApiPort projects?
Create a Sprint
Create a new sprint for project 4:
- Name: "Sprint 3 - User Authentication"
- Goal: "Complete login and registration"
- Start: 2025-01-13
- End: 2025-01-27
- Velocity target: 25
View Sprint Report
Show me the report for sprint 1
Manage Work Items
Create a user story for project 4:
- Title: "User password reset"
- Priority: High
- Estimate: 8 points
Sprint Planning
Show me the backlog for project 4 and add items 15, 16, 17 to sprint 2
Development
Run Tests
pytest
Format Code
black .
ruff check --fix .
Debug Mode
Set environment variable for verbose logging:
DEBUG=1 python -m apiport_mcp_server
Authentication
The server automatically handles JWT token authentication:
- Tokens are obtained on first request
- Tokens are cached and refreshed when expired
- No manual token management needed
API Endpoints
Base URL: https://api.apiport.hu/api
- Auth:
POST /accounts/token/ - Projects:
GET/POST /tracker/projects/ - Sprints:
GET/POST /tracker/projects/{id}/sprints/ - Work Items:
GET/POST /tracker/projects/{id}/work-items/ - Backlog:
GET /tracker/projects/{id}/backlog/
Troubleshooting
Connection Issues
- Verify API URL is correct (
https://api.apiport.hu) - Check credentials in
.envor config - Ensure network connectivity
Token Expiration
- Tokens expire after 1 hour
- Server automatically refreshes tokens
- If issues persist, restart Claude Desktop
SSL Certificate Errors
- Development: Set
VERIFY_SSL=falsein config - Production: Ensure valid SSL certificates
License
Internal use only - ApiPort project
Version
- Version: 0.1.0
- Last Updated: 2025-11-06
- MCP Protocol: 0.9.0+
- Python: 3.10+
Agent Types
ApiPort supports various agent types for automation:
Content Scraper Agent
Extract and process content from websites using CSS selectors.
Documentation:
Features:
- CSS selector-based extraction
- Multiple output formats (text, HTML, markdown)
- Pagination support
- Robots.txt compliance
- Image and link extraction
- Metadata extraction
Quick Example:
Create a content scraper agent for project 4:
- URL: https://blog.example.com
- Extract title from h1.post-title
- Extract content from article.post-body
- Use markdown format
Other Agent Types
- Web Monitor: Monitor websites for changes
- Down Detector: Detect website downtime
- Data Analyzer: Analyze structured data
- Task Automator: Automate repetitive tasks
- And more...
Documentation
- - Detailed guide for web scraping
- API Reference - Full API documentation
TODO
- Create Project