PensionPro MCP Server
A local, open-source MCP server that provides AI assistants with tools to interact with the PensionPro REST API.
Features
- Plan Lookup & Search — Search plans by name, status, type, or client. Get comprehensive plan details with contacts, cycles, and fee schedules.
- Project & Task Workflow — Search projects, view task details, complete/uncomplete tasks, reassign tasks, and create projects from templates.
- Client & Contact Lookup — Search clients and contacts, view client details with associated plans.
- To-Do Management — Search, create, and update to-dos linked to plans, projects, or contacts.
- Notes — Add and retrieve notes on plans, projects, tasks, and contacts.
Prerequisites
- Python 3.12+
- A PensionPro API key and username
Installation
Install from PyPI:
pip install pension-pro-mcp
Or run directly with uvx (no install required):
uvx pension-pro-mcp
Configuration
Set the following environment variables:
export PENSION_PRO_API_KEY=your_api_key
export PENSION_PRO_USERNAME=your_username
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"pension-pro": {
"command": "uvx",
"args": ["pension-pro-mcp"],
"env": {
"PENSION_PRO_API_KEY": "your_api_key",
"PENSION_PRO_USERNAME": "your_username"
}
}
}
}
Claude Code
Add to your project's .mcp.json:
{
"mcpServers": {
"pension-pro": {
"command": "uvx",
"args": ["pension-pro-mcp"],
"env": {
"PENSION_PRO_API_KEY": "your_api_key",
"PENSION_PRO_USERNAME": "your_username"
}
}
}
}
Available Tools
| Tool | Description |
|---|---|
search_plans |
Search and filter plans by name, status, type, or client |
get_plan_details |
Get plan with contacts, cycles, services, investments, fees |
get_plan_projects |
Get projects for a plan with task completion summaries |
search_projects |
Search and filter projects by status, type, or plan |
get_project_details |
Get project with task groups, tasks, participants, notes, and files |
get_task_details |
Get a single task with state, assignment, and notes |
complete_task |
Mark a task as complete |
uncomplete_task |
Revert a task to incomplete |
reassign_task |
Reassign a task to a different employee |
create_project_from_template |
Create a new project from a template |
search_clients |
Search and filter clients by company name |
get_client_details |
Get client with plans and notes |
search_contacts |
Search and filter contacts by name or client |
search_todos |
Search and filter to-dos |
get_todo |
Get a to-do with its comments |
create_todo |
Create a new to-do linked to an entity |
update_todo |
Update a to-do's details |
add_note |
Add a note to a plan, project, task, or contact |
get_notes |
Get notes for an entity |
search_api_paths |
Search PensionPro API endpoints by keyword |
get_api_endpoint |
Get full details for a specific API endpoint |
search_api_schemas |
Search API data models/schemas by keyword |
get_api_schema |
Get the full definition of an API data model |
search_help_articles |
Search PensionPro help center articles by keyword |
get_help_article |
Get the full content of a help article |
list_help_sections |
List available help sections with article counts |
Development
git clone https://github.com/douglaslinsmeyer/pension-pro-mcp.git
cd pension-pro-mcp
pip install -e ".[dev]"
pytest
Refreshing Help Articles
The bundled help articles can be refreshed from the PensionPro knowledge base:
python scripts/scrape_docs.py
License
MIT
Metadata
Release files for pension-pro-mcp 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pension_pro_mcp-0.2.1.tar.gz | 380.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pension_pro_mcp-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 696.3 kB
Release files / pension_pro_mcp-0.2.1.tar.gz
| Download URL | pension_pro_mcp-0.2.1.tar.gz |
|---|---|
| Size | 380.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6ca7632cbf2f4a419387f34c9324993bf9b497cde0c8a64d7838d17246e4b123
|
|
BLAKE2b-256 checksum How to use checksums |
da6c3b0b82ec7d9f365a41c07629ecb35a25bceb327d2cc0a0aab439c6499757
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / pension_pro_mcp-0.2.1-py3-none-any.whl
| Download URL | pension_pro_mcp-0.2.1-py3-none-any.whl |
|---|---|
| Size | 315.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e7e0334ab15d005b967ee5412f3936041cafa148d1f384802d7b01d179acf7a2
|
|
BLAKE2b-256 checksum How to use checksums |
fb81c187eea61ce0582d9217438636d3a59b90420581e846256a4f7535241e71
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|