Storra for Brands
Server Details
Find real charity stories a brand could fund as a campaign. Read-only, no sign-in.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool has a clearly distinct role: find_campaign_stories searches, get_campaign_story retrieves a single story in full, and list_causes enumerates facets for filtering. There is no overlap in purpose and the descriptions make the search-vs-fetch distinction explicit.
All three tools follow a strict verb_noun snake_case pattern: find_campaign_stories, get_campaign_story, list_causes. Verbs (find/get/list) are distinct and used conventionally.
Three tools is on the thin side, but for a read-only browsing surface (search, retrieve detail, list facets) each tool earns its place. No filler or redundant tools are present.
The read-only browse lifecycle is well covered: discovery via search, detail retrieval, and facet/pagination support through list_causes. Minor gaps exist (no direct filter-by-cause or list-by-charity operation), but the core workflow has no dead ends.
Available Tools
3 toolsfind_campaign_storiesFind campaign storiesARead-onlyIdempotentInspect
Search real charity stories a brand could fund as a cause-marketing campaign. Matches the query against titles, summaries, charities, causes and places, and returns the best matches with a link to each story page.
| Name | Required | Description | Default |
|---|---|---|---|
| cause | No | Only stories for this cause, e.g. "Health". Use list_causes for the values. | |
| limit | No | How many stories to return (default 10, at most 25). | |
| query | No | Words to look for, e.g. "children Christmas" or "mental health". | |
| location | No | Only stories in this place, e.g. "Manchester". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered externally. The description adds useful search semantics (which fields are matched, that results include per-story links) but says nothing about ranking, result truncation, or empty-result behavior beyond what the schema's limit already conveys.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose followed by match/return behavior, with no filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All-optional search tool with four fully documented params and no output schema; the description partially covers the return shape ('link to each story page'). Missing only secondary details like result ordering or behavior when no matches are found.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — every parameter (cause, limit, query, location) has its own documented semantics including examples and the list_causes cross-reference. The description adds no parameter-level detail, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Search real charity stories a brand could fund as a cause-marketing campaign') and clarifies the match surface (titles, summaries, charities, causes, places) plus what comes back (best matches with a story-page link). This cleanly separates it from get_campaign_story (single fetch) and list_causes (enumeration of cause values).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for when to reach for it — discovering fundable stories for a cause-marketing campaign — which implies the search-first workflow. It does not name alternatives or exclusions (e.g., 'use get_campaign_story for a story you already have an ID for'), so it falls just short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_campaign_storyGet a campaign storyARead-onlyIdempotentInspect
Get one story in full: the story, what a brand could do with it, and the charity's details.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The story's slug, from a search result. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered structurally. The description earns credit by disclosing the shape of the returned content (story text, brand use case, charity details), which matters because there is no output schema. It does not mention behavior for an unknown or invalid slug.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, verb-first, with the payload contents delivered as a compact colon list. Nothing is padded and nothing needs reordering.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, annotation-covered read tool with no output schema, the description covers purpose and return contents adequately. The only gap is that it says nothing about failure behavior for a missing slug, which is minor here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single slug parameter, and the schema already explains its origin and constraints (1-200 chars). The description adds no further parameter semantics, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('Get one story in full') and enumerates what the payload contains (the story, brand applicability, charity details), which is more than a restatement of the title. It implies the single-item counterpart to find_campaign_stories, but never names that sibling explicitly, so differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use statement. The phrase 'one story' and the schema note that the slug comes 'from a search result' imply this follows a search call rather than replacing it, but the description itself does not route the agent between this tool and find_campaign_stories.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_causesList causesARead-onlyIdempotentInspect
List the causes stories are filed under, with how many stories each has. Use a cause as the filter in a search.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds that each entry includes a story count, which is genuinely useful return-shape context absent from any output schema, but it says nothing about ordering, empty results, or scope limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero filler, and the primary function is stated first with the downstream use-case second. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter enumeration tool with no output schema, the description covers both what is listed and what each entry contains (a story count). Adding the nominal follow-up tool name would make it fully self-sufficient, but nothing essential to invoking it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline of 4 applies — there is nothing for the description to disambiguate. The sentence does confirm the listing is unfiltered, which is consistent with the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (List) and resource (causes stories are filed under) and even states the return content (story count per cause), so the agent knows exactly what it produces. It doesn't explicitly contrast itself with get_story or search_stories_to_tell, but the resource is distinct enough that confusion is unlikely.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use a cause as the filter in a search" tells the agent why the result matters — to obtain a valid filter value for a search — which is useful implied routing. However, it never explicitly names search_stories_to_tell as the follow-up tool or states when this listing should be preferred over other lookups, leaving the agent to infer the workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
find_campaign_stories - First observed
get_campaign_story - First observed
list_causes
Related MCP Connectors
Find real charity stories a creator could make content about. Read-only, no sign-in.
31Search, verify and compare 7.9M+ nonprofits from official charity registries in 100+ countries.
Give to UK registered charities: check charity numbers, price a gift and get a checkout link.
UK Register of Charities from the Charity Commission for England and Wales: look up any registered…
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables users to search nonprofits, browse causes, read fundraiser details and amounts raised, and build donation links that donors open to give.7MIT
- AlicenseNot gradedqualityBmaintenanceSearch a verified directory of youth nonprofits by cause, country, or keyword. Returns impact data, programmes, and donation links. Supports x402 USDC donations directly to nonprofit wallets.MIT
- AlicenseNot gradedqualityCmaintenanceEnables searching the UK Charity Commission register and retrieving charity details, financial history, and trustee information.11 npmMIT
- AlicenseAqualityCmaintenanceEnables recruiters and account managers to search public candidate profiles, match role briefs to ranked shortlists, browse categories, retrieve profile links, and draft value-first pitches while avoiding private data and outbound messages.6MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.