LeashIndex Get the report

Index / devtools

io.github.mp-juns/universal-research-mcp

io-github-mp-juns-universal-research-mcp declares 30 capabilities across 30 tools, with 2 critical issues. One of them, no-revocation, is recorded for every server in the index because MCP has no field in which to declare a way to switch a tool off; a missing declaration is not evidence that the control is missing.

63/100 exposureElevated

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

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.

critical · irreversible-uncapped · 1 of 30 tools

1 tool is classified as irreversible and declares no limit.

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 · 22 of 30 tools

22 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
memory_search_candidatesread declared
memory_latestread declared
memory_fetch_evidenceread declared
memory_check_evidence_eligibilityread declared
memory_audit_ledgerread declared
public_demo_statusread declared
research_prepare_ingestread inferred
research_commit_ingestwrite inferred
research_pending_ingest_statusread declared
codex_host_agent_statusread declared
codex_prepare_agent_controlread declared
governance_get_capabilitiesread inferred
governance_get_role_manifestread inferred
governance_get_role_prompt_contractread inferred
governance_validate_task_packetread inferred
governance_validate_decisionread inferred
governance_evaluate_gatewrite assumed
governance_prepare_codex_dispatchsend inferred
governance_prepare_scope_governor_receiptread inferred
governance_prepare_codex_critical_batchwrite assumed
governance_capture_codex_decisionread inferred
governance_assess_planwrite assumed
governance_evaluate_operationwrite assumed
governance_resolve_failure_policywrite assumed
governance_prepare_failure_recordread inferred
research_index_statusread inferred
research_profile_statusread inferred
research_semantic_modelsread inferred
research_semantic_setup_planwrite assumed
governance_preflight_parallel_batchread 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.