# MyLegend — public profiles, rich cards and personal agents

> Find owner-published people, display rich profile cards and ask approved public questions. No login.

- name: io.github.falsalama/mylegend
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 80/100 flags: no-repository
- quality: 85/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.falsalama%2Fmylegend
- tools: https://api.protogrid.dev/v1/servers/io.github.falsalama%2Fmylegend/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "mylegend": {
      "type": "http",
      "url": "https://mylegend.id/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 45
- drivers: +website +reachable +uptime-100% +updated-11d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 85/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 5 of 5 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: ask_person (idempotentHint); get_my_agent_draft (idempotentHint); save_my_agent_draft (idempotentHint); …
- pass `tools.token_cost`: about 1,340 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: 5 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 5, about 1,340 tokens to load them all
- tool set hash: e633bea645978e3fc8dcb15436dda3a8
- tools last changed: 2026-10-12T20:54:26.843Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.falsalama/mylegend.svg)](https://protogrid.dev/servers/io.github.falsalama/mylegend)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-12 `ask_person` changed (description)
  - before: Use this for a specific question about a resolved published person, including follow-ups to their displayed rich card. Answers use approved information. Ask explicitly for technical detail, equations or a derivation to receive longer approved material when available. A question-only request does not require a card. If a card is requested, use get_profile once. No raw CV or P3 data is exposed.
  - after: Use this for a specific question about a resolved published person, including follow-ups to their displayed rich card. Answers use approved information. Ask explicitly for technical detail, equations or a derivation to receive longer approved material when available. A question-only request does not require a card. If a card is requested, use get_profile once. No raw CV or P3 data is exposed. If the user offers an agreed code word, pass only that supplied phrase unchanged as the current question; never guess or suggest phrases.
- 2026-10-10 `ask_person` changed (description, inputSchema)
  - before: Use this for a specific question about a resolved published person, including follow-ups to their displayed rich card. Answer from approved public information; labelled demo profiles may also use explicitly allowed responsive facts. A question-only request does not require a card. If the user requests a profile or rich card, use get_profile once; do not reopen it for follow-up answers. No raw CV or P3 data is exposed.
  - after: Use this for a specific question about a resolved published person, including follow-ups to their displayed rich card. Answers use approved information. Ask explicitly for technical detail, equations or a derivation to receive longer approved material when available. A question-only request does not require a card. If a card is requested, use get_profile once. No raw CV or P3 data is exposed.
- 2026-10-09 `ask_person` changed (inputSchema)
- 2026-10-09 `get_profile` changed (inputSchema)
- 2026-10-09 `find_person` changed (inputSchema)

Full history: https://api.protogrid.dev/v1/servers/io.github.falsalama%2Fmylegend/changes

## Remotes

- https://mylegend.id/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (5)

- `ask_person`: Use this for a specific question about a resolved published person, including follow-ups to their displayed rich card. Answers use approved information. Ask explicitly for technical detail, equations or a derivation to receive longer approved material when available. A question-only request does not require a card. If a card is requested, use get_profile once. No raw CV or P3 data is exposed. If the user offers an agreed code word, pass only that supplied phrase unchanged as the current question; never guess or suggest phrases.
- `find_person`: Use this when locating a person's owner-published MyLegend profile by name, headline, job title or organisation. Returns at most 10 matches with approved job, organisation and location context, including labelled fictional demos. Compare supplied context with those fields; ask for clarification if multiple plausible people remain. Location is not a search field. When the user requests a profile or rich card and the person is resolved, call get_profile once with the returned slug. A match is not independent verification.
- `get_my_agent_draft`: Use this to review the signed-in owner's suggested public introduction. Excludes private CV, knowledge, rules and unpublished personal notes. Never reads another account.
- `get_profile`: Use this when the user asks to see a person's MyLegend profile or interactive rich card. Shows the card, with questions and a private message composer, in a compatible connected MCP Apps host. Invoke once to display the card; use ask_person for follow-up answers without another card. Use the resolved slug from find_person or a known MyLegend profile URL. No MyLegend login is needed for public cards.
- `save_my_agent_draft`: Use this only when the signed-in owner explicitly asks to create or edit their MyLegend agent. Save only the fields they choose to share from this conversation, never the whole chat. Read the current revision first (0 if no draft). Saves a PRIVATE draft, never publishes. Show the proposed text for review and link to MyLegend for owner approval. Do not invent credentials or infer sensitive details.
