Skip to main content
Glama

twocents

Server Details

Human feedback for AI agents: share HTML, get a live review link, read anchored notes as markdown.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
twocents-page/twocents-mcp
GitHub Stars
0
Server Listing
twocents

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.8/5 across 2 of 2 tools scored.

Server CoherenceA
Disambiguation5/5

The two tools have completely distinct purposes: one creates a shared review page, the other retrieves feedback from it. There is no overlap or ambiguity.

Naming Consistency5/5

Both tools follow the same verb_noun pattern: get_feedback and share_page. Naming is clear, descriptive, and consistent.

Tool Count4/5

With only two tools, the set is minimal but well-suited to its narrow purpose of sharing pages and collecting feedback. It feels slightly thin but not inadequate.

Completeness4/5

The tool set covers the core workflow: share a page, update it by calling share_page again, and retrieve feedback. There is no explicit delete or room listing, but these are not essential for the described use case.

Available Tools

2 tools
get_feedbackGet reviewer feedback for a shared pageAInspect

Fetch the reviewer notes for a page shared with share_page, as markdown grouped by page. Each note carries the anchored text, the element and its markup as the reviewer saw it, so you can locate and apply it; each page heading carries a URL to read the whole page back, so you never have to guess which file it is. Show your human each new note and apply only the ones they approve. Pass the note ids already decided in earlier sessions as "handled" to see only what is new.

ParametersJSON Schema
NameRequiredDescriptionDefault
roomYesThe room id returned by share_page.
handledNoNote ids the creator already decided on (applied or skipped) — e.g. the keys of a saved .twocents/decisions.json. These are summarized in one line each instead of repeated in full, so the response leads with what still needs a decision.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full disclosure burden and meets it exceptionally: it details what the output contains (anchored text, element, markup, URL per heading), how it is structured, and the intended interactive workflow. It goes far beyond a simple 'fetch' and prepares the agent for real usage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each dense with purpose: the first states the core function and format, the second details the note contents and page URLs, and the third gives operational guidance. No filler, perfectly front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description clearly explains the return format (markdown grouped by page, note details, URLs). It covers both parameters contextually and provides a complete workflow for an agent, leaving little ambiguity for a tool with this moderate complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents 'room' and 'handled'. The description adds meaningful context for 'handled' by explaining it represents previously decided note ids and that such notes appear summarized rather than in full, which goes beyond the schema's field description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb ('Fetch') and resource ('reviewer notes for a page shared with share_page'), and adds useful detail (markdown, grouped by page). It clearly distinguishes from the sibling share_page by focusing on retrieval rather than creation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly ties usage to pages shared via share_page, explains the workflow (show human, apply only approved notes), and instructs how to use the 'handled' parameter to filter previously decided notes. This gives clear when and how, even without naming alternatives beyond the sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

share_pageShare a page for visual feedbackAInspect

Share a page or document and get back a review link to send to people. Pass "html" for a self-contained page, or "markdown" for a plan, spec, PR description or report — markdown is rendered to a styled, readable document for you, so prefer it whenever the thing you want a human to approve is prose rather than a built page. Reviewers open the link and pin notes directly on it — no login or install. Call again with the same room id to update the page; connected reviewers see the update live. Use get_feedback to collect the notes. Rooms are sticky per project: if the project has a .twocents/state.json, pass its room id instead of creating a new room, so the review link stays stable across sessions.

ParametersJSON Schema
NameRequiredDescriptionDefault
htmlNoA complete, self-contained HTML document (inline CSS/JS/images — no local file references, they will 404 for reviewers). Max ~120 KB.
pathNoFor multi-page sets: the filename this content lives at in the room (e.g. "about.html" or "plan.md"). Defaults to "index.html", the page reviewers land on. Share the other files into the same room id and link between them with plain relative hrefs — formats can be mixed freely, so a plan.md may link to a demo.html and back.
roomNoRoom id from a previous share_page call, to update that page. Omit to create a new room.
sourceNoWhere this content came from, for whoever reads the feedback later — a project path like "DROPS.md" or "public/p/foo/index.html", or a note like "drafted in this conversation, not yet a file". You are the only one who knows this: twocents receives HTML, never a path, so if you omit it a future session gets reviewer notes with nothing to point them at the right file. get_feedback echoes it back verbatim.
markdownNoMarkdown to render as a document, instead of "html". Use this for plans, specs, PR descriptions, summaries — anything you want a human to read and approve before you act. Pass exactly one of html or markdown. Max ~120 KB.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of disclosure. It reveals key behaviors: reviewers need no login, updates go live, rooms are sticky per project, and content must be self-contained. Some gaps remain (e.g., permissions, lifecycle beyond updating), but the core behavioral traits are clearly communicated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every sentence earns its place, covering return value, html/markdown selection, reviewer behavior, updates, feedback collection, and room persistence. It is front-loaded with the primary action and avoids repetition, making it efficient for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (two content formats, room lifecycle, reviewer experience) and the absence of an output schema, the description is remarkably complete. It explains the returned review link, how updates work, what reviewers can do, and how feedback is collected, leaving little ambiguity for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so each parameter is already documented, giving a baseline of 3. The description goes beyond the schema by explaining the semantic difference between html and markdown, advising preference for markdown, and clarifying room reuse semantics—value the schema alone does not provide.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with "Share a page or document and get back a review link", naming the verb, resource, and deliverable precisely. It also distinguishes itself from the sibling get_feedback by explicitly directing users there to collect notes, making the tool's role unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives concrete when-to-use guidance: choose "html" for self-contained pages and "markdown" for prose, preferring markdown when possible. It also references the sibling tool get_feedback for collecting notes and provides a conditional rule about reusing room ids when a .twocents/state.json exists.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Markdown collaboration for AI workflows. Share markdown via public links with four permission levels, inline comments, and real-time sync. AI agents can read docs, review comments, incorporate feedback, and resolve threads. Free, no login.
    14
    10
    6
    MIT
  • F
    license
    -
    quality
    B
    maintenance
    Open-source human-in-the-loop design review tool that enables AI agents to upload UI screenshots for human feedback, with MCP tools for creating reviews, pinning notes, and getting structured feedback.
    2
  • A
    license
    A
    quality
    A
    maintenance
    Interactive feedback layer that lets users pin comments on live web apps with auto-captured context (failing requests, console, AI metadata), and coding agents fix issues via MCP, turning pins green upon verification.
    10
    149
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.