Skip to main content
Glama

Server Details

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

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
Capmus-Team/supost-mcp
GitHub Stars
0
Server Listing
supost-mcp

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.4/5 across 6 of 6 tools scored. Lowest: 3.9/5.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct operation: creating drafts, fetching a single listing, retrieving market statistics, listing categories, searching listings, and sending messages. There is no ambiguity or overlap in their purposes.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (create_, get_, list_, search_, send_) using snake_case. No deviations or mixed styles.

Tool Count5/5

With 6 tools, the server covers the core functionality for a classifieds marketplace: creating drafts, searching and viewing listings, retrieving market stats, listing categories, and messaging. This is well-scoped without being overly sparse or bloated.

Completeness3/5

The tool set covers creation (draft), retrieval, search, stats, categories, and messaging, but lacks tools for updating or deleting listings. While the create_post tool offloads final publishing to the web interface, the inability to programmatically update or remove listings is a notable gap. Additionally, there is no tool for reading messages or managing conversations.

Available Tools

6 tools
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).
Behavior5/5

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

With no annotations, the description fully discloses behaviors: the draft is not published, the returned continue_url loads the Capmus wizard, payment_required indicates free tier check, and publish parameter behavior for certain emails. Also notes that the continue_url grants edit access and should not be shared. No contradictions.

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 front-loaded with the core action and then adds necessary details. While somewhat long, every sentence provides valuable context. It could be slightly trimmed without losing meaning, but it strikes a good balance for a tool with complex behavior.

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 (5 required), no output schema, and no annotations, the description covers all essential aspects: usage, edge cases (payment_required, free tier), security, and alternatives. It leaves no critical information missing for an agent to invoke the tool correctly.

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 description coverage is 100%, so baseline is 3. However, the description adds significant context beyond the schema: explains the draft vs. published distinction, continue_url purpose, payment handling, and that email must be the poster's own (never invented). This added meaning justifies a higher score.

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 verb+resource: 'Create a DRAFT listing on Capmus on the poster's behalf.' It distinguishes this tool from siblings like get_listing, list_categories, and search_listings, which serve different purposes. No 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?

Explicit guidelines are given: 'Any email is accepted — never ask the user to qualify first.' It also provides when to use the publish parameter vs. the wizard: 'When the user wants it published fast, prefer publish: true... over walking them through or automating the wizard.' The description warns about sharing the continue_url only with the poster.

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.
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 public data (full description, photo URLs, stanford_verified), no personal information, and directs to use the returned URL for contact. This gives good behavioral context, though it could explicitly state the operation is read-only and idempotent.

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 five sentences that front-load the core action and return fields. It includes actionable guidance on stanford_verified but could be slightly tighter. No unnecessary information.

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 one parameter and no output schema, the description adequately covers return fields (description, photo URLs, stanford_verified) and their meaning. It also explains how to contact the poster. A minor gap is not specifying the response format (e.g., JSON), but overall it's complete.

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 has 100% coverage with a single parameter id described as 'Numeric listing id, e.g. from search_listings.' The description adds minimal extra meaning beyond the schema, only confirming 'by numeric id'. Baseline of 3 is appropriate.

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 'Fetch one Capmus listing by numeric id', specifying the verb (fetch) and resource (one listing). It distinguishes from sibling tools like search_listings (which fetches multiple) and get_market_stats (different resource).

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 when you have a numeric id (e.g., from search_listings) but does not explicitly state when to use this tool vs alternatives. It provides guidance on surfacing the output, but no when-not-to-use or exclusion criteria.

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

Behavior4/5

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

With no annotations, the description carries full burden. It discloses that the tool returns markdown from a public stats page and describes the data types. Given the tool's simplicity (no parameters, read-only), this is adequate, though it could mention data freshness or rate limits.

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 two sentences with no extraneous words. The first sentence conveys the purpose and data content; the second specifies the output format and citation requirement. Every sentence adds value, and the structure is 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?

Given no parameters, no output schema, and no annotations, the description fully covers what the tool does, what it returns, and provides a source for citation. It is complete for a simple, read-only statistics retrieval tool.

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 tool has zero parameters and schema coverage is 100%, so no parameter documentation is needed. The description adds no parameter information, but for a parameterless tool, a baseline of 4 is appropriate 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?

The description clearly states the tool retrieves 'verified statistics about Capmus' including specific metrics like audience size, listing volumes, response rates, and response-time medians. It distinguishes from sibling tools such as 'create_post' or 'get_listing' by focusing solely on aggregate market statistics.

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 implies usage for obtaining Capmus market statistics and specifies a citation source. While it does not explicitly compare with alternatives or state when not to use, the unique scope (aggregate stats vs. individual posts/listings) makes the usage context clear.

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

Behavior3/5

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

No annotations provided, so the description must fully disclose behavior. It describes the tool as non-destructive (listing taxonomy) but fails to mention that it is read-only, whether it is cached, or what the response structure looks like. The phrase 'active ... taxonomy' hints at dynamic data, but more detail is needed.

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, front-loaded sentence that conveys all essential information without wasted words. It is efficient and easy to parse.

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

Completeness3/5

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

No output schema exists, so the description should compensate by explaining the return value. It mentions 'taxonomy' but does not specify structure (e.g., list of objects with ids and names). Given the complexity of categories, this is a gap. However, the link to sibling tools provides partial context.

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?

With zero parameters and 100% schema coverage, the description does not need to add parameter information. The baseline is 4, and the description correctly omits irrelevant param details.

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 explicitly states the tool provides the active category/subcategory taxonomy, linking it to specific sibling tools (create_post, search_listings). The verb 'list' and the phrase 'valid ... values' make the purpose precise and distinct.

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 implies the tool should be used to fetch valid categories before using create_post or search_listings. It does not explicitly state when not to use it, but the context is clear enough. A slight improvement would be an explicit statement of prerequisite usage.

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.
Behavior4/5

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

With no annotations, the description fully covers behavior: it returns newest-first listings with specific fields, pagination with an opaque cursor, explains stanford_verified trust signal, and notes no personal information is returned. It does not mention error conditions or authorization needs, but for a read-only search this is adequate.

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 concise and front-loaded with the main purpose. It includes necessary details about return values and pagination. The instruction to surface stanford_verified is useful but adds a bit of length; overall efficient.

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 6 parameters and no output schema, the description covers return format, pagination, the key trust signal, and privacy. It lacks details on error handling or empty results, but for a search tool it is largely complete.

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 has a description. The tool's description adds behavioral context beyond schema, such as the meaning of stanford_verified and that max_price excludes unpriced listings, and explains the cursor usage. This adds value for the agent.

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 searches or browses active listings on Capmus, a university marketplace, and specifies the return fields and ordering. It distinguishes from sibling tools like create_post or get_listing by the action type.

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 for searching listings but does not explicitly provide when to use it versus alternatives like get_market_stats or list_categories. No exclusions or when-not guidance are given.

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.

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.
Behavior5/5

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

With no annotations provided, the description fully discloses the critical asynchronous behavior: message not delivered immediately, confirmation link sent, must be clicked by user. This is transparent and complete for a mutation tool.

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 a focused paragraph front-loading purpose and key behavior. All sentences earn their place, though minor redundancy ('the user' repeated) could be trimmed.

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 purpose, parameters, async behavior, and user guidance. However, it does not explicitly describe the tool's return value or error scenarios, which would be helpful given the absence of an output schema.

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 covers 100% of parameters. Description adds practical guidance beyond schema: for reply_to_email it warns not to invent; for post_id it suggests sources. This adds value beyond the baseline.

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 action ('Send a message to the poster') and specifies the context ('active Capmus listing'). It is distinct from all sibling tools, none of which involve messaging.

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 explicitly instructs the agent to inform the user about the confirmation link, to report the message as pending, and never as sent. It provides clear 'when to use' guidance and behavioral expectations.

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!

Try in Browser

Your Connectors

Sign in to create a connector for this server.