MCP server for the PensionPro API
Project description
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 |
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 |
Development
git clone https://github.com/douglaslinsmeyer/pension-pro-mcp.git
cd pension-pro-mcp
pip install -e ".[dev]"
pytest
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pension_pro_mcp-0.1.0.tar.gz.
File metadata
- Download URL: pension_pro_mcp-0.1.0.tar.gz
- Upload date:
- Size: 61.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cce959c60d72a0f07052fb5fcf5acb77c39a9804484be96cde1f28fbccff46af
|
|
| MD5 |
521b50d776c290a6f92009b16019ba59
|
|
| BLAKE2b-256 |
931231c6d6db3c8d0321ee411e3af9735b6f811dab8b92af568d12efe2b62253
|
Provenance
The following attestation bundles were made for pension_pro_mcp-0.1.0.tar.gz:
Publisher:
publish.yml on douglaslinsmeyer/pension-pro-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pension_pro_mcp-0.1.0.tar.gz -
Subject digest:
cce959c60d72a0f07052fb5fcf5acb77c39a9804484be96cde1f28fbccff46af - Sigstore transparency entry: 1236959720
- Sigstore integration time:
-
Permalink:
douglaslinsmeyer/pension-pro-mcp@ec5ad733731ee40545daa4c17545ed241964ccab -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/douglaslinsmeyer
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ec5ad733731ee40545daa4c17545ed241964ccab -
Trigger Event:
release
-
Statement type:
File details
Details for the file pension_pro_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pension_pro_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 13.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85b186d0280797fef83ec02ff01231e1e42780d3e777558e8134d3266a755f5c
|
|
| MD5 |
f017546bdd34a64a12322835c7015bcc
|
|
| BLAKE2b-256 |
f23aec2065b636c2681219105680e2cb60c84f9952e1edb8a0ce2f9b55f4856c
|
Provenance
The following attestation bundles were made for pension_pro_mcp-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on douglaslinsmeyer/pension-pro-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pension_pro_mcp-0.1.0-py3-none-any.whl -
Subject digest:
85b186d0280797fef83ec02ff01231e1e42780d3e777558e8134d3266a755f5c - Sigstore transparency entry: 1236959759
- Sigstore integration time:
-
Permalink:
douglaslinsmeyer/pension-pro-mcp@ec5ad733731ee40545daa4c17545ed241964ccab -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/douglaslinsmeyer
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ec5ad733731ee40545daa4c17545ed241964ccab -
Trigger Event:
release
-
Statement type: