capmus-mcp
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.
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.
Tool Definition Quality
Average 4.4/5 across 6 of 6 tools scored. Lowest: 3.9/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.
All tool names follow a consistent verb_noun pattern (create_, get_, list_, search_, send_) using snake_case. No deviations or mixed styles.
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.
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 toolscreate_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.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Plain-text listing description. | |
| Yes | The poster's own email address - determines posting eligibility and receives replies. Never invent or guess this - ask the user for it. | ||
| price | No | USD. Required for for-sale and housing-offering listings. | |
| title | Yes | Listing title. | |
| publish | No | Set 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). | |
| category | Yes | Category id or label, e.g. "housing", "for sale" (see list_categories). | |
| subcategory | Yes | Subcategory id or name within the category, e.g. "bicycles" (see list_categories). |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Numeric listing id, e.g. from search_listings. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Full-text search query. | |
| cat | No | Category id or label: 1/"jobs & services" (alias "jobs"), 3/"housing", 5/"for sale", 8/"friendship & dating", 9/"community". | |
| limit | No | Page size (default 25, max 50). | |
| cursor | No | Opaque cursor from a previous response's next_cursor. | |
| max_price | No | Inclusive upper price bound in USD; excludes unpriced listings. | |
| university | No | Numeric university id to scope results to one campus. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | Plain-text message to the poster (1-5000 characters). | |
| post_id | Yes | Numeric listing id, e.g. from search_listings or get_listing. | |
| reply_to_email | Yes | The user's own email address. Receives the confirmation link and the poster's reply. Never invent or guess this - ask the user for it. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Your Connectors
Sign in to create a connector for this server.