LeashIndex Get the report

Index / other

PensionPro

io-github-douglaslinsmeyer-pension-pro-mcp declares 30 capabilities across 30 tools, with 1 critical issue.

58/100 exposureElevated

Manifest recorded 2026-10-15 from tools/list answered by the PyPI package pension-pro-mcp==0.2.1 (published to PyPI as pension-pro-mcp, listed in the official MCP registry as io.github.douglaslinsmeyer/pension-pro-mcp 0.2.1), run in an isolated container with no network access and placeholder credentials. The date changes only when the manifest does. Not verified by a maintainer.

Note. Installed with the MCP Python SDK held below version 2.0. With the newest SDK this version of the package stopped before it could list its tools.

Issues

These describe what this server's manifest declares. A product can provide controls that MCP has no way to express — token revocation, an admin console, audit logs — and this page cannot see them. The absence of a declaration is not evidence that a control is absent.

critical · no-revocation · All 30 tools

30 of 30 tools declare no way for the customer to switch them off once granted. This applies to every tool because MCP has no field in which to declare a revocation mechanism; the product may provide one outside MCP that a manifest cannot show.

high · no-expiry · All 30 tools

30 of 30 tools declare no expiry. This applies to every tool because MCP has no field in which to declare an expiry; the product may provide one outside MCP that a manifest cannot show.

high · no-audit-trail · All 30 tools

30 of 30 tools declare no record of their actions that the customer can read. This applies to every tool because MCP has no field in which to declare an audit requirement; the product may provide one outside MCP that a manifest cannot show.

high · uncapped-write · 7 of 30 tools

7 tools can modify data and declare no limit.

low · uncapped-read · 23 of 30 tools

23 tools can read data and declare no limit.

Declared capabilities

How each tool was read. declared means the server's own annotation said so — self-reported and unverified. inferred is from the tool's name. assumed means nothing indicated either way.

ToolRead asBasis
search_plansread inferred
get_plan_detailsread inferred
get_plan_projectsread inferred
search_projectsread inferred
get_project_detailsread inferred
get_task_groupread inferred
get_task_detailsread inferred
complete_taskwrite assumed
uncomplete_taskwrite assumed
reassign_taskwrite assumed
create_project_from_templatewrite inferred
search_clientsread inferred
get_client_detailsread inferred
search_contactsread inferred
search_todosread inferred
get_todoread inferred
create_todowrite inferred
update_todowrite inferred
add_notewrite inferred
get_notesread inferred
get_worktraysread inferred
get_worktrayread inferred
get_worktray_member_statsread inferred
search_api_pathsread inferred
get_api_endpointread inferred
search_api_schemasread inferred
get_api_schemaread inferred
search_help_articlesread inferred
get_help_articleread inferred
list_help_sectionsread inferred
Answering this question about your own agent? The self-serve stack report applies the same reading to your own stack or server and gives you a dated document you can hand to a customer's security review. It is generated in your browser, with nobody to wait for. Buying one does not change this page, its score or its place in the index — see Independence.
Maintain this server? If this page misreads your manifest, or your server has changed, submit its current tools/list response and it will be re-scored and dated. Corrections are published alongside the original, not in place of it.