Epinu
Server Details
Agent-first marketplace for real-world assets — agro and energy first; humans approve every write.
- Status
- Healthy
- Uptime
- 100.0% over 36 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- CMS87/epinu-mcp
- GitHub Stars
- 0
TDQS
Scored across 5 tools
The search tools (search, projects_search, marketplace_listings_search) overlap significantly—search is explicitly an 'additive alias' over the other two, making them partially redundant. fetch, getting_started, and marketplace_listings_search are fairly distinct, but the search trio creates ambiguity about which to call for a given query.
Mixed conventions: projects_search and marketplace_listings_search follow verb_noun, but search, fetch, and getting_started are single words/varied patterns. Names are descriptive enough but lack a uniform verb_noun structure across the whole set.
Five tools is a reasonable size for a search/discovery-oriented server. The count feels slightly thin given the mention of several underlying operations (projects_get_deep_dive, marketplace_listing_get), but it's within a sensible scope for the apparent purpose.
Read-side coverage is decent: search, detail-fetch, and overview docs are all present. However, the server references get_deep_dive and get operations that aren't directly exposed as standalone tools, and there's no way to perform any writes/updates, leaving the surface feel like incomplete proxies for a broader API.
Available Tools
5 toolsfetchFetchAInspect
Fetch the full document for one search result by its opaque id (project: or listing:). Returns { id, title, text, url, metadata }. Available without a token; public data only. Wraps projects_get_deep_dive and marketplace_listing_get. Unknown or malformed ids return a clean not-found.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| url | Yes | |
| text | Yes | |
| title | Yes | |
| metadata | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses return fields, authentication (public data), internal endpoint wrapping, and error handling for unknown IDs. Lacks rate limits, but as a read-only fetch this is acceptable.
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?
Every sentence provides value: purpose, id format, return shape, auth, internal wrapping, error behavior. No wasted words, front-loaded with the action.
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 one-parameter tool with no annotations, the description covers input, output, auth, and edge cases. Output schema exists but is not needed since return is described. Complete for correct tool selection.
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?
Despite 0% schema coverage, the description adds meaning by specifying the id format ('project:<uuid> or listing:<uuid>') and its source. This is essential context beyond the schema's generic string type.
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?
Description clearly states the verb 'Fetch' and the resource 'full document for one search result by its opaque id'. It distinguishes from sibling search tools which return summaries, making its purpose unique.
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?
Explicitly states when to use (have an opaque id from search) and that it's public (no token needed). Implicitly guides away from search tools, but doesn't explicitly mention alternatives for when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getting_startedGetting StartedAInspect
Start here: platform overview, the proposal/approval operating model, auth rules, common flows, and agent etiquette. Static content — requires no scopes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| auth | Yes | |
| docs | Yes | |
| welcome | No | |
| platform | Yes | |
| etiquette | Yes | |
| common_flows | Yes | |
| field_limits | Yes | |
| operating_model | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description bears full responsibility. It states the content is static and requires no scopes, clearly indicating a read-only, safe operation with no authentication burden.
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?
Extremely concise: two sentences with no wasted words. Key information is front-loaded with 'Start here.'
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 static overview tool with zero parameters and an output schema, the description fully captures what the agent needs to know: it's the entry point with no side effects.
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?
No parameters exist, and schema coverage is 100%. The description adds value by clarifying the content is static and introductory, exceeding the baseline expectation.
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?
Description clearly states it's a starting point for platform overview, operating model, auth rules, flows, and etiquette. It distinguishes itself from search or fetch tools by its introductory nature.
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?
"Start here" explicitly tells agents to use this first. It doesn't explicitly say when not to use, but the context of it being static overview makes it obvious it's not for data retrieval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_listings_searchMarketplace Listings SearchAInspect
Search the Epinu marketplace for equipment, services, and assets. Returns summaries only; call marketplace_listing_get for detailed packets.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| cursor | No | ||
| category | No | ||
| maxPrice | No | ||
| subcategory | No | ||
| availabilityType | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | |
| next_cursor | Yes | |
| total_returned | Yes | |
| dropped_invalid_count | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It notes the summary-only return behavior and references pagination indirectly via the cursor parameter, but does not state rate limits, auth requirements, result ordering, or whether maxPrice/availabilityType affect filtering in any way the schema doesn't already imply. The summary-only distinction is genuinely valuable but largely the whole of its behavioral content.
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, zero waste. The first sentence states the core purpose and scope; the second delivers critical behavioral guidance (summary-only + pointer to the detail tool). Extremely efficient and 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?
An output schema exists, so return values need no explanation. However, with 7 parameters at 0% schema description coverage, no annotations, and no parameter-level context, the description leaves the agent to guess about availabilityType semantics, subcategory usage, and cursor pagination details. This creates a moderate completeness gap despite the good summary-vs-detail flow guidance.
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% and there are 7 parameters with none required, so the description must compensate. It does establish the marketplace domain that gives query/category/subcategory meaning, but it provides no parameter-specific context — no explanation of what 'category' vs 'subcategory' mean, what 'availabilityType' values are valid, or how maxPrice interacts. The marketplace framing adds context beyond the bare schema but doesn't meaningfully document individual parameters.
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?
Clear verb+resource ('Search the Epinu marketplace') with an explicit scope (equipment, services, assets). Distinguishes from siblings by establishing this is the marketplace search, separate from projects_search, and by naming the companion detail tool (marketplace_listing_get). Falls just short of 5 because it doesn't enumerate the full breadth of categories beyond the three listed.
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?
Provides clear when-to-use context by stating it returns summaries only and directing callers to marketplace_listing_get for detailed packets, establishing a complementary search-then-fetch flow. However, it doesn't explicitly state when NOT to use it or compare against the other sibling search tools (search, projects_search), so exclusions are absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
projects_searchProjects SearchAInspect
Search Epinu real-asset projects. Returns bounded summaries only; call projects_get_deep_dive for detailed packets. Results include public projects plus the token owner's own archived, draft, or unpublished projects for duplicate checks; another owner's unpublished projects are never returned. Available without a token for public results only.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| cursor | No | ||
| status | No | ||
| min_roi | No | ||
| asset_type | No | ||
| max_funding_goal | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| limit | Yes | |
| projects | Yes | |
| next_cursor | Yes | |
| dropped_invalid_count | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden, and it delivers well. It discloses that results are bounded summaries only, that the token owner's own non-public projects are included for duplicate checks, that others' unpublished projects are excluded, and that return behavior changes without a token. This is rich behavioral context with no annotation to rely on.
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?
Three sentences, front-loaded with the core purpose, no filler. Every sentence adds distinct value: what it returns, how scoping works, and access behavior. Zero wasted words.
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 search tool with 7 filter parameters, an output schema present, and no required parameters, the description covers purpose, scoping semantics, access behavior, and the alternative for detail. The presence of the output schema reduces the need to explain return values. The main minor gap is per-parameter semantics, but field names are largely self-explanatory.
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 for the 7 undocumented parameters. The description does not enumerate the parameters explicitly, but it conveys the search's overall semantics (public plus owner's non-public scope, bounds on output). However, it doesn't add per-parameter meaning for limit, cursor, status, min_roi, asset_type, or max_funding_goal beyond what field names imply.
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 what the tool does: search Epinu real-asset projects. It distinguishes itself from siblings by explicitly naming the alternative tool projects_get_deep_dive for detailed packets and clarifying the bounded-summary nature. This is a specific verb+resource+scope statement that differentiates from sibling marketplace_listings_search and search.
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 provides strong usage guidance: when the same owner searches, archived/draft/unpublished projects are included for duplicate checks, while another owner's unpublished projects are never returned. It also clarifies access behavior (available without a token for public results only), and points to projects_get_deep_dive as the alternative for detailed data. This is explicit when/when-not context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearchAInspect
Unified read-only search across public Epinu projects and marketplace listings. Returns { id, title, url } results; call fetch with a returned id for the full document. Available without a token; public data only. Additive alias over projects_search and marketplace_listings_search.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and clearly states read-only, public data, and no token requirement. It also describes the return format. It does not mention pagination or rate limits, but for a simple search tool this is sufficient.
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 at three sentences, front-loads the purpose, and each sentence adds value with no redundancy.
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 single parameter, existence of an output schema, and no annotations, the description covers scope, availability, and follow-up actions. It could mention result limits or ordering, but overall it provides sufficient 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?
Schema description coverage is 0%, so the description should compensate by explaining the 'query' parameter. It only implies a text search without providing any semantics or syntax guidance, which is insufficient.
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 is a unified read-only search across public Epinu projects and marketplace listings, distinguishing it from sibling tools like projects_search and marketplace_listings_search.
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 explains it is a unified search that can be used without a token, and that results can be followed up with fetch. It implicitly provides context on when to use this tool over the individual search tools, though it lacks explicit when-not 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.
2 tool updates
- Changed
marketplace_listings_search1 field changed- added
Output schema / properties / dropped_invalid_countAdded value: +{ + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" +}
- Changed
projects_search1 field changed- added
Output schema / properties / dropped_invalid_countAdded value: +{ + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" +}
1 tool update
- Changed
getting_started1 field changed- added
Output schema / properties / welcomeAdded value: +{ + "type": "string" +}
2 tool updates
- Added
fetch - Added
search
1 tool update
- Changed
marketplace_listings_search1 field changed- added
Input schema / properties / queryAdded value: +{ + "maxLength": 200, + "type": "string" +}
1 tool update
- Changed
marketplace_listings_search1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "next_cursor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "results": { + "items": { + "additionalProperties": false, + "properties": { + "availability_type": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "category": { + "type": "string" + }, + "latitude": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "listing_id": { + "type": "string" + }, + "location_address": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "longitude": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "price": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "price_unit": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "pricing_mode": { + "anyOf": [ + { + "enum": [ + "fixed", + "quote" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "quantity_available": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "rating_average": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "status": { + "type": "string" + }, + "subcategory": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "tags": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "title": { + "type": "string" + } + }, + "required": [ + "listing_id", + "title", + "category", + "subcategory", + "price", + "price_unit", + "pricing_mode", + "status", + "quantity_available", + "availability_type", + "location_address", + "latitude", + "longitude", + "tags", + "rating_average" + ], + "type": "object" + }, + "type": "array" + }, + "total_returned": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + } + }, + "required": [ + "results", + "next_cursor", + "total_returned" + ], + "type": "object" +}
1 tool update
- Changed
projects_search1 field changed- added
Output schema / properties / projects / items / properties / area_sq_metersAdded value: +{ + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] +}
3 tool updates
- First observed
getting_started - First observed
marketplace_listings_search - First observed
projects_search
Related MCP Connectors
Agent-native scoring, search and routing for tokenized real-world assets across multi-chain.
Agent-to-agent marketplace: AI agents list and buy data, services and compute. Signed receipts.
Marketplace where AI agents get real work handled and build provable, evidence-only reputation.
Agent work marketplace — browse jobs, claim work, deliver results, get paid in USDC.
Related MCP Servers
- MIT
- FlicenseCqualityBmaintenanceMCP services for agent security preflight, source scanning, injection screening, proof-of-work policy rehearsal, carbon accounting, climate disclosure and regulatory monitoring. Use each hosted endpoint in the README. Inspect a free quote before buyer-authorized x402/USDC payment. Includes free trust and settlement tools. Maxwell rehearsal does not activate runtime protection.220-

Realmint MCPofficial
AlicenseNot gradedqualityDmaintenanceAgent-native access to tokenized RWAs: scoring, market data, route support, price history, and a keyless x402 buy on-ramp via MCP tools.MIT- AlicenseNot gradedqualityCmaintenanceAgent equity markets, credit markets, and capability staking using USDC on Base L2.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.