996.fm perspective graph
Server Details
Dated, attributed founder and investor positions — the disagreement, with timestamped receipts.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 5 tools
Each tool targets a distinct unit: find_perspectives routes a dilemma to debates, get_stances expands one debate's stances, get_context windows around a single claim, list_debates browses the registry, and trace_evolution follows one speaker over time. The descriptions explicitly disambiguate the two closest pairs: find_perspectives is a sample vs get_stances is complete, and list_debates 'does not rank' vs find_perspectives which does.
All five names are consistent snake_case verb_noun (find_perspectives, get_context, get_stances, list_debates, trace_evolution). The verbs map cleanly to the operation type (browse=find/list, retrieve=get, timeline=trace) with no style mixing.
Five tools is well-scoped for a read-only perspective graph, with each tool earning its place across distinct query modes. No redundant or filler tools, and no obvious overreach.
The surface covers routing, debate browsing, stance expansion, source context, and speaker timelines, forming a coherent read-only graph. Minor gaps exist such as direct search by speaker or claim, but agents can work around these via the existing tools.
Available Tools
5 toolsfind_perspectivesFind perspectivesARead-onlyInspect
Route a founder's dilemma to the debates that genuinely bear on it. Present the readings SEPARATELY — never merge them into one answer. Attribute and date every position (dates are episode publication dates); keep hedged claims hedged. The graph never says who opposes whom — work out yourself which positions push back on the founder's leaning, and name them. When coverage is thin it says so — advise from general knowledge rather than stretching a weak match. Returns up to 4 debates and 36 stances — a sample, not the full set; call get_stances(debate_id) for a debate's complete stances. Each carries speaker, publication date, strength, reasoning, scope qualifiers and an episode receipt. Quote the receipt — episode + timestamp, or essay link + excerpt — so the founder can check the moment. Respect the question's altitude: scale-up material does not answer a pre-PMF dilemma.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | The founder's question or dilemma, with a line of context |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive), and the description adds substantial behavior: results are a bounded sample (up to 4 debates, 36 stances), the graph does not encode opposition so the agent must infer it, hedged claims must stay hedged, and each stance carries speaker, date, strength, scope qualifiers and a receipt. This is rich disclosure well beyond the annotations.
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?
The purpose is front-loaded in the first sentence and the size suits a tool with this much behavioral nuance. A few procedural sentences (formatting the receipt, altitude matching) are dense but each carries usable instruction, so little is wasted.
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?
With no output schema, the description carries the return-shape burden and does so thoroughly: result counts, per-stance fields, receipt format, sampling caveat, and the follow-up call. An agent has everything needed to call and interpret the results.
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?
With a single parameter and 100% schema coverage, the schema already documents 'topic'. The description adds only marginal interpretive value ('respect the question's altitude'), 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?
The opening sentence states a specific verb and resource ('Route a founder's dilemma to the debates that genuinely bear on it'), so the agent knows this maps a question to matching debates. It distinguishes from get_stances by naming that sibling as the way to get complete stances. It does not differentiate from list_debates or trace_evolution, so it falls short of full sibling-level clarity.
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?
It gives real routing criteria ('debates that genuinely bear on it'), states the fallback when coverage is thin ('advise from general knowledge rather than stretching a weak match'), and names get_stances as the alternative for full stances. It lacks explicit when-not-to-use guidance relative to list_debates or trace_evolution, but the context for use is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_contextGet the transcript around a claimARead-onlyIdempotentInspect
The scene around one claim. Spoken: the episode's public transcript, windowed ±90s around the claim's timestamp. Written (an essay): the verbatim excerpt snapshotted at digest plus a link into the original — never the surrounding text, never a live fetch. Quote the receipt — episode + timestamp, or essay link + excerpt — so the founder can check the moment.
| Name | Required | Description | Default |
|---|---|---|---|
| claim_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations covering safety (readOnly, idempotent, non-destructive, closed-world), the description adds real behavioral context: the ±90s window, that written claims return only the snapshotted excerpt and 'never the surrounding text, never a live fetch' (a staleness caveat). This is meaningful disclosure beyond the annotations without contradicting them.
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?
The scoping statement is front-loaded, and the two retrieval modes are subdivided cleanly. The phrasing is somewhat flourishy ('The scene around one claim') but every clause carries content, and the receipt guidance 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?
With no output schema, the description carries the return-value burden well, explaining exactly what comes back for spoken vs written claims. For a one-parameter, read-only tool the only remaining gap is the claim_id format, which is minor at this complexity.
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 single parameter claim_id has 0% schema description coverage, so the schema contributes nothing. The description implies a claim carries a timestamp and source (episode or essay), giving context for what claim_id references, but it never specifies the identifier's format or how to obtain it, so it only partially compensates.
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 states a specific resource and scope: it returns the episode transcript windowed ±90s around a claim, or the verbatim essay excerpt plus a link. It distinguishes the two retrieval modes (spoken vs written) clearly. It does not explicitly name or contrast the siblings (find_perspectives, get_stances, etc.), but the returned artifact is unambiguous.
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?
Usage is implied rather than stated: 'so the founder can check the moment' signals this is a verification/receipt tool. However, there is no explicit when-to-use condition relative to the four sibling tools, and no when-not guidance, leaving the agent to infer selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stancesGet stances on a debateARead-onlyIdempotentInspect
Every stance on one debate, grouped by reading — raw material for your own who-would-push-back read. No synthesis. Attribute and date every position (dates are episode publication dates); keep hedged claims hedged.
| Name | Required | Description | Default |
|---|---|---|---|
| debate_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, closed-world, non-destructive), so the bar is lower; the description still adds real behavioral context by stating the result is grouped by reading, contains no synthesis, is attributed and dated, and that dates are episode publication dates. It doesn't cover ordering or volume of results, but that is a minor gap given the annotation coverage.
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 tight sentences, front-loaded with what is returned before the caveat about synthesis. Some phrasing ('who-would-push-back read') is idiosyncratic, but nothing is redundant.
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?
With no output schema, the description has to describe the return shape, and it does: stances grouped by reading, individually attributed and dated, unsynthesized. That is enough for an agent to use the result correctly; only the debate_id parameter and pagination/ordering remain unaddressed.
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 0% for the single required debate_id, so the schema contributes nothing. The description only indirectly signals the parameter's meaning ('one debate'), without explaining the identifier's format or source; a modest 3 for implying scoping but not documenting the parameter.
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+resource ('every stance on one debate') and a scoping behavior ('grouped by reading'), which is far more precise than the title alone. It does not name or contrast itself against any sibling (find_perspectives, get_context, trace_evolution), so an agent still has to infer which retrieval tool fits which need.
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?
'No synthesis' and 'raw material for your own who-would-push-back read' imply you use this when you want unprocessed positions rather than an aggregated answer, which is useful implied guidance. However, no alternative is named and no explicit when-to-use/when-not condition is given, leaving the choice among the four siblings to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_debatesBrowse debatesARead-onlyIdempotentInspect
Browse the debate registry: id, question, readings, stance count, born (earliest publication date). Optional case-insensitive substring filter. Browsing only — it does not rank against a question; use find_perspectives for that. Defaults to debates with 2+ stances, 120 rows a page — page with offset.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Rows to return (default and max 120) | |
| query | No | Case-insensitive substring of the debate question | |
| offset | No | Rows to skip — the tail line tells you the next offset | |
| min_claims | No | Minimum stances on the debate (default 2) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so safety is settled. The description adds genuinely new behavioral context beyond annotations: the default min-stance filter (2+), the 120-row page size, and how the tail line signals the next offset for paging.
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?
Compact and front-loaded: returned fields first, then filtering, then the routing constraint, then pagination defaults. No redundant or filler clauses; each sentence carries distinct information.
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?
With no output schema, the description compensates by listing the result columns, and it covers filtering, default thresholds, and offset-based pagination end to end. An agent has everything needed to call and page it correctly.
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%, so all four parameters are already documented with types, bounds, and defaults. The description largely restates that (substring filter, 120 rows, 2+ stances default) without adding new syntax or edge-case meaning, which is the expected baseline when the schema does the heavy lifting.
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?
Names a specific verb and resource ('Browse the debate registry') and enumerates the returned fields (id, question, readings, stance count, born). It explicitly distinguishes itself from the sibling find_perspectives, so an agent can route correctly without opening either schema.
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?
States the use case ('Browsing only — it does not rank against a question') and names the alternative for the other case ('use find_perspectives for that'). The when-to-use / when-not-to-use / alternative triad is fully covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trace_evolutionTrace one person's views over timeARead-onlyIdempotentInspect
One speaker's takes in order of episode publication date (optionally on one debate) — reversals and re-assertions visible, never judged. Attribute and date every position (dates are episode publication dates); keep hedged claims hedged. A 2023 position is a 2023 position; if the same person later said otherwise, show both.
| Name | Required | Description | Default |
|---|---|---|---|
| person | Yes | ||
| debate_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, closed-world, non-destructive), and the description adds real behavioral context beyond them: results are ordered by publication date, every position must be dated and attributed, hedged claims stay hedged, and both sides of a reversal are surfaced. This is meaningful output-shaping guidance, though it omits any note on result size or pagination.
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?
The purpose and its distinguishing ordering are front-loaded, and the piece is short. The final sentence ('A 2023 position is a 2023 position') restates the earlier 'never judged' intent, costing a little density.
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 two-parameter, no-output-schema read tool, the description supplies what the agent needs: the record set, its ordering, the optional debate scope, and the attribution/hedging expectations. Nothing essential is missing, though a note on result volume would round it out.
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 coverage is 0%, so the description must carry the parameters, and it does map both: 'one speaker' identifies the required person and 'optionally on one debate' clarifies that debate_id is an optional scope filter. It still omits format expectations (e.g., name form or debate_id style), so the compensation is partial.
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 states a specific verb and resource: one speaker's takes ordered by episode publication date, optionally scoped to one debate. The 'in order of publication date' framing clearly separates it from a static stance lookup, but the siblings (find_perspectives, get_stances) are never named, 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?
Usage is implied well enough ('one speaker's takes... optionally on one debate') to signal when the tool fits and what the debate_id scoping does. However, there is no explicit when-to-use versus find_perspectives/get_stances guidance and no exclusions, so the agent must infer the choice from sibling names.
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.
5 tool updates
- First observed
find_perspectives - First observed
get_context - First observed
get_stances - First observed
list_debates - First observed
trace_evolution
Related MCP Connectors
Dated funding and SEC 8-K events, each linked to the filing it came from.
Millions of dated buying and momentum signals: who raised, who's hiring, what changed and when
8 graded AGI-2027 predictions, the 0-100 Thesis Tracker, and a public market-call ledger. Free.
Verify stock theses against public filings with a source-backed evidence ledger.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceAuditable AGI-2027 evidence: eight graded Situational Awareness predictions with pre-registered flip conditions, a 0-100 Thesis Tracker with full score history, and a public market-call ledger where misses stay published. Free, no auth, CC BY 4.0.-
- AlicenseAqualityBmaintenanceA timestamped audit trail for every AI conversation — stored locally, owned by you.62864-
- FlicenseNot gradedqualityCmaintenanceCryptographically anchored, tamper-evident evidence receipts for AI agents — verified run receipts, existence-at-time proofs, and cited answers from an anchored public record. Remote MCP with proof-gated settlement; attests existence and integrity, never truth.-

emilia-mcp-serverofficial
AlicenseAqualityAmaintenanceThe accountability layer for AI agents — a named human's signed yes before an agent does anything irreversible (payment, record change, deploy), then an offline-verifiable Trust Receipt. Apache-2.0, formally verified.3650Apache 2.0