Aha! MCP Server - Python FastMCP Implementation
A Python-based MCP server for interacting with Aha! API using FastMCP with HTTP streaming capabilities.
Features
HTTP Streaming: Built with FastMCP for efficient HTTP streaming
GraphQL Integration: Uses GraphQL to query Aha! API
Three Main Tools:
get_record: Get features or requirements by reference numberget_page: Get pages with optional parent relationshipssearch_documents: Search for Aha! documents
Related MCP server: Shopify MCP Server
Environment Variables
AHA_API_TOKEN: Your Aha! API token (required)AHA_DOMAIN: Your Aha! domain name (required)PORT: Server port (default: 9004)
Installation
Running
Local Development
Docker
Tools
get_record
Get an Aha! feature or requirement by reference number.
Input: reference (string) - e.g., "DEVELOP-123" or "ADT-123-1"
Output: JSON with name and description
get_page
Get an Aha! page by reference number with optional relationships.
Input:
reference (string) - e.g., "ABC-N-213"
include_parent (boolean, optional) - Include parent page
Output: JSON with page details, children, and optional parent
search_documents
Search for Aha! documents.
Input:
query (string) - Search query
searchable_type (string, optional) - Document type (default: "Page")
Output: JSON with search results and pagination info
Architecture
server.py: Main FastMCP server with tool definitionshandlers.py: Business logic for handling each toolqueries.py: GraphQL queries for Aha! APItypes.py: Python dataclasses for type safetymain.py: Entry point for running the server
Inspired from https://github.com/aha-develop/aha-mcp