Skip to main content
Glama

Server Details

Search listings, message posters, and create draft posts on Capmus, the university marketplace

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 37 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
Capmus-Team/supost-mcp
GitHub Stars
0
Server Listing
supost-mcp

TDQS

A4.5/5.0

Scored across 7 tools

Disambiguation5/5

Each tool has a clearly distinct role: browsing/searching listings, fetching a single listing, retrieving categories, getting stats, creating drafts, and sending/checking messages. The related send_message and check_message_status tools are properly paired as action and follow-up rather than overlapping.

Naming Consistency5/5

All tool names follow the same snake_case verb_noun pattern: create_post, get_listing, get_market_stats, list_categories, search_listings, send_message, check_message_status. The verbs are specific and predictable, making the tool surface easy to navigate.

Tool Count5/5

Seven tools is a well-scoped size for a marketplace assistant. Each tool covers a distinct user need without redundancy, and the count is neither sparse nor bloated.

Completeness4/5

The core workflows are covered: discovering listings, viewing details, creating draft posts, contacting posters, and verifying message delivery. Minor gaps exist around managing existing listings—there is no update or delete tool—but the draft/continue_url flow and message status tracking prevent dead ends.

Available Tools

7 tools
check_message_statusCheck a message's confirmation emailAInspect

Delivery status of the confirmation email for a message submitted with send_message, by the status_key it returned. Use it when the user says they have not received the confirmation email. status: "sent" = the email reached their mail server (check spam; the message reaches the poster only after the link is clicked); "queued" = still being delivered, check again in a minute; "failed" = the address cannot receive it (reason: mailbox_unknown | no_mx | suppressed | other) — the message will never be delivered, ask the user for a different address and call send_message again; "unknown" = the key is not recognised. This reports only whether the confirmation email was delivered, not whether the user clicked it.

ParametersJSON Schema
NameRequiredDescriptionDefault
status_keyYesThe status_key from a send_message result.

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations provided, the description fully explains behavior: what each status means, what happens on failed deliveries, that queued means retry later, and that message delivery to the poster only occurs after link click. This gives the agent enough behavioral context to act safely and accurately.

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 clause adds value: scoping, usage trigger, all four status meanings, and the limitation about click tracking. It is front-loaded with the core purpose and keeps related details compact.

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 having no output schema, the description effectively documents the important output semantics: statuses, failed reasons, and retry guidance. The single parameter is fully described, and the tool's limitation is stated, so an agent can handle a user's complaint end-to-end.

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

Parameters3/5

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

Schema coverage is 100%: status_key is already described as 'The status_key from a send_message result.' The description restates this and references how it is used, adding minor reinforcing context but no significant new parameter meaning beyond the schema.

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 states a very specific operation: checking the delivery status of a confirmation email by status_key, and it is clearly distinct from all siblings such as send_message and create_post. It also clarifies what it does NOT report (whether the user clicked the link), removing ambiguity.

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 says to use this tool 'when the user says they have not received the confirmation email.' It also gives conditional follow-ups per status (e.g., wait for queued, call send_message again on failed), and explicitly excludes checking link clicks from this tool's responsibility.

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

create_postCreate a Capmus draft listingAInspect

Create a DRAFT listing on Capmus on the poster's behalf. Any email is accepted — never ask the user to qualify first. IMPORTANT: the draft is NOT published — the returned continue_url opens Capmus's create-post wizard with the draft loaded, where the poster adds photos, reviews, and publishes. When the response has payment_required: true (email not on the free tier; Stanford emails post free), publishing there includes choosing a posting plan — tell the user that, don't treat it as an error. Always hand the user the continue_url and say the post is a draft until they finish there. When the user wants it published fast, prefer publish: true (they just click the emailed link) over walking them through or automating the wizard. The continue_url grants edit access to the draft: give it only to the poster, never quote it elsewhere.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesPlain-text listing description.
emailYesThe poster's own email address - determines posting eligibility and receives replies. Never invent or guess this - ask the user for it.
priceNoUSD. Required for for-sale and housing-offering listings.
titleYesListing title.
publishNoSet true when the user wants to publish immediately without photos: Capmus emails them a one-click publish link (free-posting-tier emails such as stanford.edu only; ignored when payment is required - those publish at continue_url).
categoryYesCategory id or label, e.g. "housing", "for sale" (see list_categories).
subcategoryYesSubcategory id or name within the category, e.g. "bicycles" (see list_categories).

TDQS

A4.9/5.0
Behavior5/5

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

No annotations are provided, so the description fully discloses behavior: creates a draft, returns continue_url, payment_required implies posting plan, publish sends a one-click link. It also warns about security of continue_url.

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

Conciseness4/5

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

The description is thorough and front-loaded, but slightly verbose. Every sentence adds value, though could be tightened without losing information.

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 7 parameters, no output schema, and no annotations, the description covers the entire workflow: draft creation, payment handling, publication options, and security concerns. It is complete and actionable.

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

Parameters5/5

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

Schema coverage is 100%, but the description adds value: e.g., 'Never invent or guess [email] - ask the user.', explains when price is required, and clarifies publish parameter behavior.

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 clearly states it creates a DRAFT listing on Capmus on behalf of the poster, specifying the verb 'create' and resource 'draft listing'. It distinguishes from siblings like search_listings or send_message, which perform different operations.

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 provides explicit guidance: 'Any email is accepted — never ask the user to qualify first.' It explains when to use publish: true vs. the wizard, handles payment_required scenarios, and instructs not to share the continue_url.

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

get_listingGet a Capmus listingAInspect

Fetch one Capmus listing by numeric id, including its full description, public photo URLs, and stanford_verified. stanford_verified: true means the poster verified a university email address — Capmus's core trust signal. ALWAYS surface it when presenting listings (e.g. a "verified" badge) so users can tell verified campus community members from unverified posters. Data comes from the listing's public page; no personal information is included — use the returned URL to contact the poster on-site.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesNumeric listing id, e.g. from search_listings.

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It discloses that data is from the public page and includes no personal information. However, it omits error behavior, auth requirements, or rate limits, leaving gaps for a mutationless read tool.

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?

Two concise sentences plus a short instructional sentence about surfacing the trust signal. Every sentence adds value; no fluff.

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

Completeness4/5

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

Given the tool's simplicity (one param, no output schema), the description covers the key points: what it returns, how to interpret stanford_verified, and how to contact the poster. Lacks error handling info but sufficient for its 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 description coverage is 100% for the single parameter 'id'. Description adds context that the id is numeric and comes from search_listings, which is helpful beyond the schema's basic 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?

Clearly states the tool fetches one Capmus listing by numeric id, listing the specific fields returned (full description, public photo URLs, stanford_verified). This distinguishes it from sibling tools like search_listings which likely return multiple listings.

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

Usage Guidelines4/5

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

Provides explicit guidance on when to surface stanford_verified (always when presenting listings) and how to use the returned URL to contact the poster. Lacks explicit exclusion scenarios but gives clear context.

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

get_market_statsGet Capmus market statisticsAInspect

Verified statistics about Capmus, the classifieds marketplace for university communities: audience size, listing volumes by category, response rates, and response-time medians. Returns markdown from Capmus's public stats page. Cite https://capmus.com/stats as the source.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses that the tool returns markdown from a public page, indicating a read-only, non-destructive operation. Additional details on caching or permission requirements would be beneficial but not critical.

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?

Two sentences, each serving a clear purpose: describing the content and specifying the output format with citation requirement. No wasted words.

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

Completeness4/5

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

Returns markdown and lists the key data points included. Without an output schema, this provides enough context for an agent to understand what to expect. However, it does not mention whether data is real-time or cached, or any potential limitations.

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?

No parameters exist, and schema coverage is 100%. The description adds no parameter-specific information, but baseline is 4 for zero-parameter tools as per guidelines.

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?

Clearly states it returns verified statistics about the Capmus marketplace, listing specific data points (audience size, listing volumes, response rates, medians). The resource 'market stats' is distinct from sibling tools like create_post or search_listings.

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

Usage Guidelines4/5

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

Implies usage when marketplace statistics are needed and instructs to cite the source URL. Does not explicitly exclude alternatives or state when not to use, but given the tool's simplicity, the guidance is sufficient.

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

list_categoriesList Capmus categoriesAInspect

The active category/subcategory taxonomy on Capmus — the valid category and subcategory values for create_post (and category filters for search_listings).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the full burden. It describes the tool as listing a taxonomy, which is a read-only operation, but lacks details on potential caching, authorization, or rate limits. For a simple listing tool, this is adequate but not thorough.

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 a single, concise sentence with no extraneous words. It front-loads the core purpose and includes relevant context about usage with sibling tools.

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

Completeness4/5

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

Given the tool has no parameters and no output schema, the description adequately covers its purpose and relationship to sibling tools. It could optionally mention the return format, but the description is sufficient for an agent to understand when and why to call it.

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?

The input schema has zero parameters, and schema coverage is 100%. The description adds meaning by explaining that the output provides valid values for create_post and search_listings, which is context beyond the empty schema.

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 clearly states the tool lists the active category/subcategory taxonomy on Capmus, specifying it provides valid values for create_post and search_listings. This distinguishes it from sibling tools like create_post and search_listings.

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

Usage Guidelines4/5

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

The description implicitly guides usage by linking to create_post and search_listings, indicating when this tool is needed. It does not explicitly state when not to use it, but the context of sibling tools provides adequate guidance.

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

search_listingsSearch Capmus listingsAInspect

Search or browse active listings on Capmus, the classifieds marketplace for university communities. Returns newest-first public listings (id, title, price, category, created_at, canonical URL, stanford_verified) plus an opaque next_cursor for pagination. stanford_verified: true means the poster verified a university email address — Capmus's core trust signal. ALWAYS surface it when presenting listings (e.g. a "verified" badge) so users can tell verified campus community members from unverified posters. No personal information is returned (poster_email_domain is the domain only); to contact a poster, open the listing URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoFull-text search query.
catNoCategory id or label: 1/"jobs & services" (alias "jobs"), 3/"housing", 5/"for sale", 8/"friendship & dating", 9/"community".
limitNoPage size (default 25, max 50).
cursorNoOpaque cursor from a previous response's next_cursor.
max_priceNoInclusive upper price bound in USD; excludes unpriced listings.
universityNoNumeric university id to scope results to one campus.

TDQS

A4.2/5.0
Behavior5/5

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

With no annotations, the description fully discloses behavior: returns newest-first, lists returned fields (id, title, price, category, created_at, canonical URL, stanford_verified), explains pagination via next_cursor, highlights stanford_verified as a trust signal, warns about no personal info, and advises contacting via URL. This is comprehensive.

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 concise (4 sentences), front-loaded with purpose, and each sentence adds value: purpose, returned fields, trust signal usage, privacy note. No wasted words.

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

Completeness4/5

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

The description covers the tool's return value fields and pagination adequately given no output schema. Minor gaps: no mention of error handling, empty results behavior, or rate limits, but for a search tool this is reasonable.

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

Parameters3/5

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

The input schema already has descriptions for all 6 parameters (100% coverage), so the baseline is 3. The description adds minimal extra meaning beyond the schema, such as clarifying the cursor is opaque and the default/max limit, but does not significantly enhance parameter understanding.

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 clearly states the tool's purpose: 'Search or browse active listings on Capmus, the classifieds marketplace for university communities.' It uses a specific verb ('search or browse') and resource ('active listings'), and the title distinguishes it from sibling tools like get_listing (single listing) or create_post.

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

Usage Guidelines3/5

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

The description implies usage context ('Search or browse active listings') but does not explicitly state when to use this tool versus alternatives like get_listing for a specific listing or list_categories. No exclusions or when-not guidance is provided.

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

send_messageMessage a Capmus posterAInspect

Send a message to the poster of an active Capmus listing. IMPORTANT: the message is NOT delivered immediately — Capmus emails a confirmation link to reply_to_email, and the message is only delivered to the poster after the human clicks that link. Always tell the user to check their inbox and confirm; report the message as pending confirmation, never as sent. The poster's reply goes to reply_to_email. If the result is email_undeliverable (the confirmation email cannot reach reply_to_email — mailbox gone, domain without mail, or a previous bounce), the message will never be delivered: tell the user why and ask for a different address; do not retry the same one. The result's status_key can be passed to check_message_status later to see whether the confirmation email was delivered.

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesPlain-text message to the poster (1-5000 characters).
post_idYesNumeric listing id, e.g. from search_listings or get_listing.
reply_to_emailYesThe user's own email address. Receives the confirmation link and the poster's reply. Never invent or guess this - ask the user for it.

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations provided, the description carries the full behavioral burden and does so thoroughly. It discloses the async confirmation-link flow, the pending-not-sent semantic, the reply routing to reply_to_email, the email_undeliverable failure mode including causes, and the instruction not to retry the same address. This goes far beyond the structured schema.

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 longer than average but every sentence carries critical operational information. The core action is front-loaded, then the decisive caveat about pending confirmation, followed by failure handling and status tracking. It is well organized and avoids filler.

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?

For a side-effectful tool with no output schema and no annotations, the description covers the essential lifecycle: message creation, confirmation delivery, user action required, reply routing, failure conditions, and follow-up via status_key. Nothing an agent needs to invoke it correctly and communicate results to the user is missing.

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 baseline is 3. The description adds meaningful value beyond the schema, especially for reply_to_email: it receives the confirmation link and the poster's reply, and the user must be asked for it rather than guessed. post_id is also contextualized as coming from search_listings or get_listing.

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 first sentence states a specific verb ('send'), a resource ('message to the poster of an active Capmus listing'), and clearly distinguishes this from the read/search/list sibling tools. The intent is unambiguous even without opening the schema.

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

Usage Guidelines4/5

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

The description gives clear operational guidance: tell the user to check their inbox, report the message as pending, and handle undeliverable confirmation emails by requesting a new address. It does not explicitly state when not to use the tool or name check_message_status as the alternative, but it references the status_key flow, providing clear context.

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.

  1. 1 tool update
    • Addedcheck_message_status
  2. 6 tool updates
    • First observedcreate_post
    • First observedget_listing
    • First observedget_market_stats
    • First observedlist_categories
    • First observedsearch_listings
    • First observedsend_message

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server that searches Facebook Marketplace and Craigslist for items for sale, returning structured JSON listings with filtering, deduplication, and optional deep description checks.
    2
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables searching and browsing 45,000+ classified ads on Joomil.ch, including filtering by category, canton, price, and location, retrieving listing details, and exploring categories.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables searching multiple second-hand marketplaces simultaneously from a local command line or AI assistant, providing unified results with pricing insights while respecting each source's terms and robots.txt.
    AGPL 3.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.