protogrid

Search / io.github.ManSio/msp-portfolio

MSPortfolio — MCP-Native Engineering Portfolio

R0· no sign-in

MCP server for Mikhail (ManSio)'s engineering portfolio: projects, principles, lab, evidence.

v1.0.4 · active · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality89good
Trust73of 100
Uptime, 30 days98%
Latency p50630 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "msp-portfolio": {
      "type": "http",
      "url": "https://msp-portfolio.mansio-dev.workers.dev/mcp"
    }
  }
}
claude mcp add --transport http msp-portfolio https://msp-portfolio.mansio-dev.workers.dev/mcp
[mcp_servers.msp-portfolio]
url = "https://msp-portfolio.mansio-dev.workers.dev/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "msp-portfolio": {
      "type": "remote",
      "url": "https://msp-portfolio.mansio-dev.workers.dev/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "msp-portfolio": {
      "type": "http",
      "url": "https://msp-portfolio.mansio-dev.workers.dev/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=msp-portfolio&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbXNwLXBvcnRmb2xpby5tYW5zaW8tZGV2LndvcmtlcnMuZGV2L21jcCJ9"
}
{
  "servers": {
    "msp-portfolio": {
      "type": "http",
      "url": "https://msp-portfolio.mansio-dev.workers.dev/mcp"
    }
  }
}
{
  "mcpServers": {
    "msp-portfolio": {
      "httpUrl": "https://msp-portfolio.mansio-dev.workers.dev/mcp"
    }
  }
}
extensions:
  "msp-portfolio":
    enabled: true
    name: "msp-portfolio"
    type: streamable_http
    uri: "https://msp-portfolio.mansio-dev.workers.dev/mcp"
    timeout: 300

Quality 89 / 100good

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene86 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations18 of 18 tools declare readOnlyHint or destructiveHint
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: get_timeline (destructiveHint, idempotentHint); get_commit_history (destructiveHint, idempotentHint); get_antipatterns (destructiveHint, idempotentHint); …
  • pass
    tools.token_costabout 2,210 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changes1 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

18 tools, about 2,210 tokens to load them all · tool set 3970c41a745d · tools last changed 2026-09-29 · checked 2026-10-20 11:08 UTC

Tool changes

  • get_commit_historychangeddescription
    before

    Get recent commit history across the owner's public repos (hourly snapshot). Use it to answer 'what has he been building lately' or 'show the hardest bugs he has fixed'.

    after · 56% of words in common

    Get recent commit history across the owner's public repos. Reads the deployed snapshot and reports its `fetchedAt` and `ageMinutes`, so 'how current is this?' is answered by the payload instead of by trusting this description. Use it to answer 'what has he been building lately' or 'show the hardest bugs he has fixed'.

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 73 / 100

no-repository
provenance35
liveness99
freshness85
hygiene80

+reachable +uptime-98% ~updated-66d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://msp-portfolio.mansio-dev.workers.dev/mcp streamable-httpnoneyes98%630 ms2026-07-282026-10-20

Tools (18)

analyze_stackread-onlyCompare the owner's stack against a job's required skills. Returns per-skill match with evidence and coverage.
get_antipatternsread-onlyGet the owner's antipattern museum — real engineering mistakes with why they were bad, how they were fixed, and the lesson. Read-only, closed world.
get_articlesread-onlyGet recent Dev.to articles with reading time, tags and links.
get_commit_historyread-onlyGet recent commit history across the owner's public repos. Reads the deployed snapshot and reports its `fetchedAt` and `ageMinutes`, so 'how current is this?' is answered by the payload instead of by trusting this description. Use it to answer 'what has he been building lately' or 'show the hardest bugs he has fixed'.
get_diaryread-onlyGet the owner's engineering diary — incidents, root causes, fixes and guards, each tagged with a pattern (NEW vs recurring). Use it to answer 'what broke and how did you fix it' or 'show your hardest debugging session'. Read-only, closed world.
get_engineering_principlesread-onlyGet engineering principles with real examples and A/B-style counterfactuals.
get_experimentsread-onlyGet the owner's engineering experiments — hypothesis, command, raw result and verdict (confirmed/refuted/partial) for each. Use it to answer 'what did you measure' or 'show me an experiment you ran'. Includes negative results (approaches that failed). Read-only, closed world.
get_issue_detailread-onlyGet the full detail of a single known issue by its ID (e.g. 'KI-109'). Drills into one open problem: status, temperature, owner, linked source and the raw problem statement. Returns a clear not-found with the available IDs if the ID does not match. Read-only, closed world.
get_known_issuesread-onlyGet the owner's known-issues board — open debt with status, temperature (stable/watching) and deadlines. Use it to answer 'what's still broken' or 'what are you working on'. Read-only, closed world.
get_profileread-onlyGet the owner's professional profile summary, plus nextSteps — concrete ways to continue (contact channels, GitHub, MCP connect). Use it as the first tool in an interview.
get_projectsread-onlyGet portfolio projects with stack, highlights, and decision logs. Optional filter by stack tag.
get_timelineread-onlyGet the engineering decision timeline.
search_projectsread-onlyFree-text search across portfolio projects — name, tagline, description, stack and decision-log rationale. Returns matched projects with a score and the fields that matched. Use when a fixed stack-tag filter is too narrow (e.g. 'RAG', 'latency', 'Zed'). Read-only, closed world.
simulate_architectureread-onlySimulate how a project's architecture behaves under a scenario (load spike, node loss, cache cold, LLM saturation). Returns latency percentiles per load and bottleneck analysis.
verify_articleread-onlyVerify an article against the primary source (Dev.to): does the owner have a published article matching the query? Fetches the live Dev.to API for the owner's articles and returns the real title/date/reactions/url when found — or an honest 'not found'. Use it to ground claims like 'he wrote about agent memory' in the platform's data instead of the portfolio's own words. Read-only, open world (network fetch).
verify_claimread-onlyGround a claim about the owner against the portfolio's data (profile, projects, principles, timeline, antipatterns, experiments, diary, known issues). Deterministic: returns the evidence records that support the claim (with source paths) and a supported verdict. Use it before asserting a fact about the owner, or to check what an answer was based on.
verify_packageread-onlyVerify an npm package against the primary source (registry.npmjs.org): does it exist, latest version, publish date, description, license, maintainers — and is the owner among them? Use it to ground claims like 'he published an npm package' in the registry's data instead of the portfolio's. Honest 'not found' when the package does not exist. Read-only, open world (network fetch).
verify_reporead-onlyVerify a GitHub repository against the primary source: fetches the actual repo metadata (exists, language, description, topics, stars, last push) from the GitHub API and cross-checks it with the portfolio's project record when the repo is one of the owner's projects (language/stack agreement). With readme:true it also returns the actual README text, so claims about what the project does can be checked against the repository's own words. Use it to ground claims like 'the repo is Python' or 'he maintains mscodebase-intelligence' with live data instead of trusting the claim. Read-only, open world (network fetch).

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.ManSio/msp-portfolio",
  "title": "MSPortfolio — MCP-Native Engineering Portfolio",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://msp-portfolio.mansio-dev.workers.dev/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.4",
  "description": "MCP server for Mikhail (ManSio)'s engineering portfolio: projects, principles, lab, evidence."
}