The Love Campus
Server Details
Discover Love Campus courses and books, match products to your budget, and prepare a purchase link with current pricing for customer review and checkout.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-03-26
- URL
TDQS
Scored across 4 tools
list_offers is explicitly an alias of list_products, creating a duplicate tool surface; an agent could easily call either for the same catalog need. The other two tools are more distinct, but the alias overlap weakens selection clarity.
All tools use snake_case verb_noun form (list_offers, list_products, prepare_purchase, recommend_offer), so naming is predictable and consistent.
Four tools is a reasonable scope for a catalog/recommendation/purchase-handoff server, but one slot is consumed by an alias, so the effective distinct capability count is three.
The surface covers catalog listing, recommendation, and purchase preparation, with payment authorization intentionally outside the server. It lacks a single-product lookup and order/checkout confirmation, but those are minor for the stated handoff model.
Available Tools
4 toolslist_offersBRead-onlyIdempotentInspect
Full course and book catalog; alias of list_products. Prices are selected-product subtotals, not a complete basket quote.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | ||
| query | No | ||
| college | No | ||
| budgetMinor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, openWorld behavior, so safety is covered. The description adds genuinely useful context beyond that: prices returned are selected-product subtotals, not a complete basket quote, which prevents misreading the output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight clauses with no filler, and the catalog scope is front-loaded ahead of the alias and price caveats. Every phrase carries 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?
For a simple read-only listing tool with full annotation coverage and no output schema, the description is close to adequate, but with four undocumented parameters and no return-shape guidance it leaves gaps an agent must fill by inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden and does not. Only 'course'/'book' (the kind enum) is implicitly referenced; query, college, and budgetMinor receive no explanation of format, filtering behavior, or accepted values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the resource precisely ('Full course and book catalog') and uniquely identifies the tool as an alias of list_products, which tells an agent it maps to the same underlying operation as a known sibling. It lacks an explicit verb, but the scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'alias of list_products' note implies this is interchangeable with that sibling, but there is no explicit when-to-use or when-not-to-use versus prepare_purchase or recommend_offer, which are also purchase-flow tools. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_productsARead-onlyIdempotentInspect
List every published Love Campus course and book across Dating, Marriage and Family, with exact IDs, USD prices and current book buyability. Optional college, kind, text and budget filters.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | ||
| query | No | ||
| college | No | ||
| budgetMinor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, open-world behavior, so the safety profile is covered. The description adds real value beyond that by disclosing that only 'published' items are returned and that results include exact IDs, USD prices, and current book buyability. It omits pagination, sorting, and any auth/rate-limit context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, with the scope statement front-loaded and the filter list kept to a short trailing clause. Every clause carries information the agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description takes on the return-value burden and does so (IDs, prices, buyability). Filters are covered and the published-only restriction is stated. Remaining gaps are pagination/sort behavior and any result limits, which are minor for a catalog list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning, and it only loosely does: 'college, kind, text and budget' maps to college/kind/query/budgetMinor, but the names don't match the schema ('text' vs query, 'budget' vs budgetMinor) and it never explains minor-unit currency semantics or what field the text query matches against. Names the params but not their semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb ('List') and resource (published Love Campus courses and books), plus the domain scope (Dating, Marriage and Family) and the fields returned. It does not, however, distinguish itself from the sibling list_offers or explain how 'products' relates to 'offers', so an agent must infer the boundary.
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 usage context (browsing the catalog with optional filters) but never states when to use this rather than list_offers, recommend_offer, or prepare_purchase. No prerequisites, exclusions, or alternatives are given, so routing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_purchaseARead-onlyIdempotentInspect
Prepare a fresh purchase handoff for any published available course or book, or one exact course+book pair. Pass productIds (one or two exact catalog IDs), or a single offerId; never both. Existing mc-bundle-one is supported. Customer reviews the whole basket and authorizes payment.
| Name | Required | Description | Default |
|---|---|---|---|
| offerId | No | ||
| productIds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld/non-destructive, but the description adds meaningful context: it is a 'handoff' that the customer reviews as a whole basket and then authorizes payment separately, so no charge occurs here. The 'fresh' wording and mc-bundle-one note add operational nuance beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and then the invocation contract; every sentence carries weight. 'Existing mc-bundle-one is supported' is slightly cryptic out of context but still earns its place as a compatibility note.
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, but the description conveys the downstream flow (customer reviews basket, authorizes payment), so the agent understands what the handoff produces. For a 2-parameter tool this is nearly complete, lacking only an explicit note on sibling alternatives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains that productIds holds one or two exact catalog IDs, offerId is a single offer, and the two are mutually exclusive ('never both') — a constraint not expressible in the schema itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (prepare) plus resource (purchase handoff) and scopes it to published courses/books or an exact course+book pair. This clearly distinguishes it from siblings like list_products, list_offers, and recommend_offer, which don't construct a basket.
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?
Gives concrete invocation guidance: pass productIds (one or two exact catalog IDs) OR a single offerId, and 'never both'. It also notes mc-bundle-one support. It stops short of explicitly contrasting when to prefer this over recommend_offer or list_offers, so guidance is clear but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommend_offerCRead-onlyIdempotentInspect
Rank suitable published courses and books using the buyer need, college, kind and USD budget. Explain personalized learning accurately; ask the customer to confirm suitability.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | ||
| need | Yes | ||
| query | No | ||
| college | No | ||
| currency | Yes | ||
| budgetMinor | No | ||
| includeBook | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, open-world behavior, so the safety profile is covered. The description adds that the output is a ranking against a buyer need and that results should be confirmed with the customer, which is useful context, but it does not describe scoring criteria, result ordering guarantees, or fallback behavior when nothing matches.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the ranking purpose front-loaded, so it is efficiently sized. The second sentence ('Explain personalized learning accurately') is vague and awkwardly worded, costing precision without adding usable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters, 0% schema description coverage, no output schema, and no explanation of the returned ranking structure, the description leaves too much unspecified. An agent cannot determine how many recommendations come back, how they are ranked, or what to do with the query and includeBook inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 7 parameters, so the description carries the full burden. It names need, college, kind, and roughly 'USD budget', but omits query and includeBook entirely and never clarifies that budgetMinor is in minor currency units or what the college enum values mean in this domain.
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 uses a specific verb ('rank') and resource ('published courses and books') and names the operating inputs (need, college, kind, budget). It implies 'recommend' semantics that separate it from the sibling list_offers/list_products, but never names an alternative, so the differentiation is inferential rather than explicit.
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?
There is no statement of when to use this tool versus list_offers, list_products, or prepare_purchase, and no preconditions or exclusions. The closing instruction ('ask the customer to confirm suitability') is conversation-flow guidance, not tool-selection guidance.
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.
4 tool updates
- First observed
list_offers - First observed
list_products - First observed
prepare_purchase - First observed
recommend_offer
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1611 npm1MIT
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs117 npm54 PyPIMIT
- AlicenseAqualityCmaintenanceRevnuvo Company Intelligence tells AI agents what changed at a company, with evidence. It observes company websites, technologies, and DNS over time and returns timestamped, confidence-aware changes, signals, and monitoring.9MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.