
Find owner-published people, display rich profile cards and ask approved public questions. No login.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
Published profile slug returned by find_person or taken from a known MyLegend profile URL. Example: morganexample.
The user's current question about this person's approved public information. Example: What do you do?
Up to six recent messages about this same profile, for conversational context only. These do not authorise disclosure or establish facts.
The preceding question about the same person, only when needed to understand a follow-up. Example: What do you do?
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.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Published profile slug returned by find_person or taken from a known MyLegend profile URL. Example: morganexample. |
| history | array | Up to six recent messages about this same profile, for conversational context only. These do not authorise disclosure or establish facts. |
| question* | string | The user's current question about this person's approved public information. Example: What do you do? |
| previousQuestion | string | The preceding question about the same person, only when needed to understand a follow-up. Example: What do you do? |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug",
"question"
],
"properties": {
"slug": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
"examples": [
"morganexample"
],
"maxLength": 80,
"description": "Published profile slug returned by find_person or taken from a known MyLegend profile URL. Example: morganexample."
},
"history": {
"type": "array",
"items": {
"type": "object",
"required": [
"role",
"content"
],
"properties": {
"role": {
"enum": [
"user",
"assistant"
],
"type": "string"
},
"content": {
"type": "string",
"maxLength": 4000,
"minLength": 1
}
},
"additionalProperties": false
},
"examples": [
[
{
"role": "user",
"content": "What is your research about?"
},
{
"role": "assistant",
"content": "An approved research overview."
}
]
],
"maxItems": 6,
"description": "Up to six recent messages about this same profile, for conversational context only. These do not authorise disclosure or establish facts."
},
"question": {
"type": "string",
"examples": [
"What do you do?"
],
"maxLength": 500,
"minLength": 3,
"description": "The user's current question about this person's approved public information. Example: What do you do?"
},
"previousQuestion": {
"type": "string",
"examples": [
"What do you do?"
],
"maxLength": 500,
"description": "The preceding question about the same person, only when needed to understand a follow-up. Example: What do you do?"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| query* | string | A name, headline, job title or organisation name from the published profile. Examples: Morgan Example or SR3H. Use location to compare returned matches, not as a search term. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"examples": [
"Morgan Example",
"SR3H"
],
"maxLength": 120,
"minLength": 2,
"description": "A name, headline, job title or organisation name from the published profile. Examples: Morgan Example or SR3H. Use location to compare returned matches, not as a search term."
}
}
}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.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}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.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Published profile slug returned by find_person or taken from a known MyLegend profile URL. Example: morganexample. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
"examples": [
"morganexample"
],
"maxLength": 80,
"description": "Published profile slug returned by find_person or taken from a known MyLegend profile URL. Example: morganexample."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| fields* | object | |
| expectedRevision* | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"fields",
"expectedRevision"
],
"properties": {
"fields": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 120,
"minLength": 2
},
"links": {
"type": "array",
"items": {
"type": "string",
"format": "uri",
"maxLength": 2048
},
"maxItems": 12
},
"roles": {
"type": "array",
"items": {
"type": "string",
"maxLength": 160
},
"maxItems": 12
},
"headline": {
"type": "string",
"maxLength": 160
},
"location": {
"type": "string",
"maxLength": 120
},
"expertise": {
"type": "array",
"items": {
"type": "string",
"maxLength": 80
},
"maxItems": 24
},
"personalMessage": {
"type": "string",
"maxLength": 500
},
"publicIntroduction": {
"type": "string",
"maxLength": 500
}
},
"additionalProperties": false
},
"expectedRevision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
}
}