Server definition
- Hash
- sha256:dff4320f40e23511154aa69d449f440e4655af8495f33122d4f406a12488c8a0
- What it is
- What a remote MCP server returned when asked what it offers: 19 tools
The blob, as servednamed by its sha256
{
"instructions": "Mentionry measures how a brand appears in answer engines, and finds places that would plausibly link to a site.\n\nTwo families of tools:\n\n1. The account's own agents and what they produced. list_agents, then describe_agent to learn what one needs, then run_agent with those values. An agent is a chain the customer built out of steps that read pages, search, score content, ask answer engines and call APIs, so this is the widest capability here. A chain ending in a write step leaves a document behind: list_documents and read_document reach those, including ones written before this conversation. You cannot create or edit an agent: chains are assembled by a person on the canvas, where each step's cost is shown.\n\n2. Link building. qualify_domain first to decide whether the site is worth the effort at all, then read_site for a brief, then discover_competitors and backlink_gap or find_prospects. draft_pitch needs a paid plan.\n\nNothing here sends mail, files a document, or posts a message: those exist in Mentionry's own chat, where a person approves each one first. Steps that reach a paid vendor are counted against the account's allowance, so prefer describe_agent over running one to find out what it does.",
"tools": [
{
"description": "Find pages that link to the named competitors but not to you, classified by whether a link is realistically winnable and why. Competitors are excluded from their own results: a competitor is never a prospect.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"competitors": {
"description": "Up to five competitor domains.",
"items": {
"type": "string"
},
"type": "array"
},
"domain": {
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "backlink_gap",
"outputSchema": null
},
{
"description": "What one agent does, step by step, and what it needs: the values you must pass to run_agent, what it hands back, how many of its steps reach a vendor that charges, and anything currently stopping it from running.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"agent_id": {
"description": "From list_agents.",
"type": "string"
}
},
"required": [
"agent_id"
],
"type": "object"
},
"name": "describe_agent",
"outputSchema": null
},
{
"description": "Find the domains competing with this one, from both search results and link profile overlap. Returns each candidate with the evidence for it, so a wrong suggestion can be recognised rather than trusted.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"domain": {
"type": "string"
},
"keywords": {
"description": "Optional. Sharpens the search half.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "discover_competitors",
"outputSchema": null
},
{
"description": "Write one outreach email for one prospect, in your own words, using the reason that prospect would link to you. It returns the subject and body and sends nothing: sending happens from your own mailbox, after you have read it. Requires a paid Mentionry plan.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"description": {
"description": "What your site does.",
"type": "string"
},
"hook": {
"description": "Why this page would link to you.",
"type": "string"
},
"page_title": {
"type": "string"
},
"prospect_url": {
"description": "The page you want the link on.",
"type": "string"
},
"sender_name": {
"type": "string"
},
"sender_site": {
"description": "Your domain.",
"type": "string"
}
},
"required": [
"prospect_url",
"hook",
"sender_site"
],
"type": "object"
},
"name": "draft_pitch",
"outputSchema": null
},
{
"description": "Search the open web for pages that would plausibly link to this site: resource pages, roundups, listicles and directories in its subject. Returns each with the reason it was kept.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"audience": {
"type": "string"
},
"description": {
"description": "What the site does. Use read_site if you do not have one.",
"type": "string"
},
"domain": {
"type": "string"
},
"keywords": {
"items": {
"type": "string"
},
"type": "array"
},
"topic": {
"description": "Optional. Narrows the search to one theme.",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "find_prospects",
"outputSchema": null
},
{
"description": "Make one picture from a description: a product shot, a social visual, hero art, an ad creative, an illustration for a page or an email. Returns its public address, which write_landing_page and write_email_template accept and which you link to in your reply; the product draws it under this tool's row. Spends one image allowance (quality 'best' costs about five times more; use it only when asked).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"aspect_ratio": {
"description": "Default 1:1. 16:9 for a hero, 9:16 for a story, 4:3 for a card.",
"enum": [
"1:1",
"16:9",
"9:16",
"4:3",
"3:4",
"3:2",
"2:3"
],
"type": "string"
},
"prompt": {
"description": "What to draw, specifically: subject, setting, style, lighting, colours, mood. Name the brand's colours when you know them. No text inside the image unless asked.",
"type": "string"
},
"quality": {
"description": "Default fast.",
"enum": [
"fast",
"best"
],
"type": "string"
}
},
"required": [
"prompt"
],
"type": "object"
},
"name": "generate_image",
"outputSchema": null
},
{
"description": "Make one short clip (three to eight seconds; 480p by default, 720p with quality 'best' at several times the cost) from a description, optionally animating a picture generate_image already made by passing its address as first_frame_url. Renders in one to two minutes and returns its public address; the product plays it under this tool's row. Spends one video allowance, the dearest single action here, so confirm the description with the customer before calling it. Requires a paid Mentionry plan.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"aspect_ratio": {
"description": "Default 16:9. 9:16 for a story or a reel.",
"enum": [
"16:9",
"9:16",
"1:1"
],
"type": "string"
},
"first_frame_url": {
"description": "Optional. The /m/... address of a generated picture to animate.",
"type": "string"
},
"prompt": {
"description": "The motion and the scene: what moves, camera, pace, mood.",
"type": "string"
},
"quality": {
"description": "Default fast.",
"enum": [
"fast",
"best"
],
"type": "string"
},
"seconds": {
"description": "Default 5.",
"maximum": 8,
"minimum": 3,
"type": "integer"
}
},
"required": [
"prompt"
],
"type": "object"
},
"name": "generate_video",
"outputSchema": null
},
{
"description": "The agents on this account: what each is called, how many steps it has, whether it would run as it stands, and when it last changed. Call describe_agent next to learn what one needs before running it.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "list_agents",
"outputSchema": null
},
{
"description": "Which outside tools this account has connected, and what each one is allowed to do here. Call it before offering to file, post or draft anything, so you can say what is actually available instead of guessing.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "list_connections",
"outputSchema": null
},
{
"description": "The documents your agents have produced: what each is called, which agent wrote it, how long it is and how many versions it has. Pass an id to read_document for the text.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "list_documents",
"outputSchema": null
},
{
"description": "The pictures and clips already generated on this account, newest first, with their addresses. Free.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "list_media",
"outputSchema": null
},
{
"description": "Judge whether a domain is worth running link building for at all, from live search data. Returns a verdict, the measured signals behind it, and the honest case against. This is the same free diagnostic the dashboard runs, and for a large share of sites the answer is that the niche has nothing to mine.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"domain": {
"description": "The domain to judge, for example mentionry.com",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "qualify_domain",
"outputSchema": null
},
{
"description": "The text of one document your agent wrote, with the agent, the step and the values that run was given. Returns the newest version unless an older one is asked for.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"document_id": {
"description": "From list_documents.",
"type": "string"
},
"version": {
"description": "1 is the newest. Omit for the newest.",
"type": "number"
}
},
"required": [
"document_id"
],
"type": "object"
},
"name": "read_document",
"outputSchema": null
},
{
"description": "Read a domain and return what we think it is about: a description, its audience, and the keywords it should be found for. This is the brief every other tool takes as input, so call it first when you do not already have one.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"domain": {
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "read_site",
"outputSchema": null
},
{
"description": "The account's own answer-engine measurements over a window: how often each tracked brand appears in recorded answers (visibility), its share of all mentions (share of voice), its mean position, and the ranking against named competitors. Group by day for a trend, or by model, region, persona, prompt or topic to find where a brand is weak. This is the data behind the dashboard's Answer Engine Insights.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"days": {
"description": "Window length in days. Default 30.",
"type": "number"
},
"dimension": {
"description": "How to group. `day` for a trend over time; the others compare buckets.",
"enum": [
"day",
"model",
"region",
"persona",
"prompt",
"topic"
],
"type": "string"
}
},
"required": [
"dimension"
],
"type": "object"
},
"name": "read_visibility",
"outputSchema": null
},
{
"description": "Run one of your agents once and return what every step did, in order, with what it returned and how long it took. Pass its declared inputs as an object keyed by their `key` from describe_agent. Steps that reach a paid vendor are counted against your live-sweep allowance, one each.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"agent_id": {
"description": "From list_agents.",
"type": "string"
},
"inputs": {
"additionalProperties": {
"type": "string"
},
"description": "The agent's declared inputs, keyed by `key`. Values are strings.",
"type": "object"
}
},
"required": [
"agent_id"
],
"type": "object"
},
"name": "run_agent",
"outputSchema": null
},
{
"description": "Check a list of domains against your live backlink profile and report which of them now link to you, when the link first appeared, and whether it is still there. A link that was removed shows as a change rather than staying on the scoreboard.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"domain": {
"description": "Your domain.",
"type": "string"
},
"pitched": {
"description": "The domains or URLs you pitched.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"domain",
"pitched"
],
"type": "object"
},
"name": "verify_links",
"outputSchema": null
},
{
"description": "Write a complete HTML marketing email (tables and inline styles, so it renders in Outlook and Gmail) from a brief and file it in Documents for preview. Grounded in the brand kit when one exists. The result can go into the customer's Gmail drafts with create_email_draft or be sent through an app action, both of which ask first. Spends one draft allowance.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"audience": {
"type": "string"
},
"cta_text": {
"type": "string"
},
"cta_url": {
"type": "string"
},
"goal": {
"type": "string"
},
"images": {
"description": "/m/... addresses from generate_image.",
"items": {
"type": "string"
},
"type": "array"
},
"notes": {
"type": "string"
},
"offer": {
"type": "string"
},
"preheader": {
"type": "string"
},
"sections": {
"items": {
"type": "string"
},
"type": "array"
},
"title": {
"description": "The template's name in Documents and the subject line.",
"type": "string"
},
"tone": {
"type": "string"
}
},
"required": [
"title",
"goal"
],
"type": "object"
},
"name": "write_email_template",
"outputSchema": null
},
{
"description": "Write a complete, responsive landing page as HTML from a brief and file it in Documents, where the customer previews it. Grounded in the brand kit when one exists. Pass the addresses of pictures you generated so the page uses them. It is private until publish_page. Spends one draft allowance.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"audience": {
"type": "string"
},
"cta_text": {
"type": "string"
},
"cta_url": {
"type": "string"
},
"goal": {
"description": "What the page must make the reader do, in one sentence.",
"type": "string"
},
"images": {
"description": "/m/... addresses from generate_image, in the order to use them.",
"items": {
"type": "string"
},
"type": "array"
},
"notes": {
"description": "Anything else to honour: colours, length, what to avoid.",
"type": "string"
},
"offer": {
"type": "string"
},
"sections": {
"description": "The sections wanted, in order, each in a few words.",
"items": {
"type": "string"
},
"type": "array"
},
"title": {
"description": "The page's name in Documents and its <title>.",
"type": "string"
},
"tone": {
"type": "string"
}
},
"required": [
"title",
"goal"
],
"type": "object"
},
"name": "write_landing_page",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:dff4320f40e23511154aa69d449f440e4655af8495f33122d4f406a12488c8a0 | sha256sum