Skip to main content
Glama
wabarakat

agent-marketplace-mcp

by wabarakat

agent-marketplace-mcp

MCP server for the Agent Data Marketplace, a data marketplace built for AI agents. Agents search data sellers (finance, satellite, agriculture, weather, geo, research and more) and request datasets. No API key.

Install

Hosted (no install): add this URL to any MCP client that supports remote servers:

https://dlfyresearch.com/mcp

Claude Code: claude mcp add --transport http agent-marketplace https://dlfyresearch.com/mcp

Local (stdio) via this package:

Claude Code:

claude mcp add agent-marketplace -- uvx agent-marketplace-mcp

Claude Desktop, Cursor and other clients (mcpServers JSON):

{
  "agent-marketplace": {
    "command": "uvx",
    "args": ["agent-marketplace-mcp"]
  }
}

Related MCP server: glongus-mcp

Tools

Tool

What it does

list_categories

Data categories with data point counts

search_datapoints

Search by keywords, category, seller, max price, verified providers

get_datapoint

One data point

search_sellers

Search sellers

get_seller

Seller profile and its data points

request_data

Purchase, sample, or describe data that isn't listed

get_request_status

Status of a request

Pricing

Prices are in credits: 1 credit = $0.01 USD. Each data point also shows price_usd. Credits can't be purchased yet and nothing is charged: requests are queued and you can check their status with get_request_status.

Configuration

Variable

Default

AGENT_MARKETPLACE_URL

https://dlfyresearch.com

Requests from this server send User-Agent: agent-marketplace-mcp/<version>.

The HTTP API is also usable directly: see https://dlfyresearch.com/llms.txt and https://dlfyresearch.com/openapi.json.

License

MIT

Available Tools

7 tools
get_datapointBInspect

Get full details of one data point by id.

NameRequiredDescriptionDefault
datapoint_idYes

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. 'Get' implies a read, but the description says nothing about permissions, behavior when the id doesn't exist, or what 'full details' actually includes. For a read tool this is a thin but not contradictory disclosure.

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?

A single front-loaded sentence with zero filler. It is efficient, though its brevity borders on under-specification rather than optimal density.

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?

The tool is simple (one required string param, no nested objects, no output schema), so not much is needed. Still, an agent gets no sense of what fields 'full details' returns or how to recover from a bad id, leaving a small but real gap.

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

Parameters3/5

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

Schema coverage is 0%, so the description should compensate; it only says 'by id', which adds the notion that the argument identifies a single datapoint but no format, source, or example. This is partially offset by there being just one self-descriptive parameter (datapoint_id).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource with scope: retrieve full details of a single data point by id. This implicitly separates it from the sibling search_datapoints (many results, query-based), but the sibling is never named, so the differentiation is left to inference.

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 phrase 'by id' implies the precondition for using this tool (you already know the datapoint id), which in turn implies search_datapoints for discovery. However, no alternative is named and there are no explicit when/when-not statements.

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

get_request_statusBInspect

Check the status of a request created with request_data.

NameRequiredDescriptionDefault
request_idYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and "check" only weakly implies a read-only, non-destructive operation. It does not disclose what status values exist, whether the status is terminal or should be polled, how long it may take, or what error occurs for an unknown/stale request_id — all material for a status-check tool with no output schema.

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

Conciseness5/5

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

A single front-loaded sentence with zero filler; every clause (the action, the target resource, and its origin) earns its place.

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?

For a simple one-parameter status tool with no annotations and no output schema, the description provides a workable minimum but leaves the agent guessing about status semantics, polling expectations, and failure modes. It is adequate to identify the tool but not to use it confidently in all cases.

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?

With only one parameter at 0% schema description coverage, the description must compensate, and it does partially by indicating the request_id originates from request_data. It adds no format, expected structure, or validation detail beyond that origin hint, leaving the parameter only half explained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ("check the status of a request") and ties it to the sibling request_data that creates the request, so the agent can distinguish it from other siblings. It stops short of a full 5 because it doesn't define what 'status' means, but the purpose is unambiguous.

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 phrase "created with request_data" implies the prerequisite (a request must exist first) and positions this as the follow-up to request_data, which is useful. However, there is no explicit statement of when to use it versus alternatives or when not to (e.g., no polling vs one-shot guidance).

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

get_sellerCInspect

Get a seller's profile and all data points it offers.

NameRequiredDescriptionDefault
seller_idYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full burden, yet it says nothing about auth requirements, behavior on an unknown seller_id, or whether the response is truncated/paginated. The phrase "all data points it offers" vaguely signals a broad payload but doesn't define its shape.

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?

A single front-loaded sentence with no filler. It is efficient, though the brevity edges toward under-specification rather than tightness.

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

Completeness2/5

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

No annotations, no output schema, and no parameter documentation leave the description as the only information source — and it omits ID format, error behavior, and the structure of the returned profile/data points. Inadequate for a tool that returns an unbounded collection.

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

Parameters2/5

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

Schema description coverage is 0% and there is one parameter, seller_id, whose format is never explained — no indication whether it is an ID from search_sellers, a slug, or a name. The description adds no meaning beyond "a seller".

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ("Get") and resource ("a seller's profile and all data points it offers"), so the agent knows this is a single-seller fetch. It does not explicitly contrast with search_sellers or get_datapoint, but the singular resource makes the intent readable.

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

Usage Guidelines2/5

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 versus search_sellers (to find a seller) or get_datapoint (for a single data point). The agent must infer the id-lookup use case from the name and required seller_id alone.

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

list_categoriesAInspect

List data categories available in the marketplace, with data point counts.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the burden; 'List' reasonably conveys a read-only, non-destructive operation and it discloses that counts accompany each category. It does not address pagination, ordering, catalog size, or whether results are cached/static, so behavioral context is only partially covered.

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?

A single front-loaded sentence with no filler; every clause (resource, scope, return content) carries 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?

For a zero-parameter read tool with no output schema, the description covers what the tool returns and where the data comes from. Missing only minor details such as ordering of the returned categories and whether the list is paginated.

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

Parameters4/5

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

The input schema declares zero parameters, so parameter semantics score at the baseline 4. There is nothing for the description to compensate for.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List data categories') plus the scope ('available in the marketplace') and the returned payload ('with data point counts'). It is clearly distinguishable from siblings like search_datapoints or get_seller, though it never explicitly names an alternative.

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?

Usage is only implied: an agent can infer this is the entry point for browsing the catalog before calling search_datapoints or get_datapoint, but the description never says when to choose this tool or what to do next. No exclusions or prerequisites are stated.

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

request_dataAInspect

Request data from the marketplace. Nothing is charged; the request is queued.

Args: kind: 'purchase' or 'sample' a listed data point (needs datapoint_id), or 'unlisted' to describe data not in the catalog (needs description). datapoint_id: Id from search_datapoints. description: What you need and what it is for. format: Preferred format, e.g. json, csv, parquet. frequency: e.g. once, hourly, daily. max_price_credits: Most you would pay, in credits (1 credit = $0.01). agent_name: A stable name for your agent, so repeat requests are grouped. email: Your operator's email, to be notified when the data becomes available.

NameRequiredDescriptionDefault
kindYes
emailNo
formatNo
frequencyNo
agent_nameNo
descriptionNo
datapoint_idNo
max_price_creditsNo

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses that no charge occurs, that the request is queued asynchronously, and that the operator email is used to notify when data becomes available. Gaps remain on expiry/auth/rate limits and on what the response looks like, but the core behavioral traits are stated.

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 load-bearing facts, cost-free and queued, are front-loaded in the first two sentences, followed by a compact annotated argument list where each line earns its place. Slightly longer than strictly necessary but no filler.

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?

For an eight-parameter tool with no annotations and no output schema, the description is nearly complete: it explains every input and the async lifecycle. It omits what the call returns (request identifier) and how to poll it via get_request_status, which an agent needs to close the loop.

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

Parameters5/5

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

Schema coverage is 0%, so the description must compensate and it does, documenting all eight parameters: the kind enum semantics, datapoint_id provenance ('Id from search_datapoints'), and even units for max_price_credits (1 credit = $0.01). It adds meaning the bare schema titles do not convey.

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?

'Request data from the marketplace' is a specific verb+resource statement, immediately narrowed by the scope note that nothing is charged and the request is queued rather than fulfilled synchronously. The arg docs also distinguish the three request modes (purchase/sample vs unlisted), so an agent can tell exactly what this tool does and what it is not.

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 kind parameter doc gives conditional routing: purchase/sample require datapoint_id, unlisted requires description. That is real when-to-use guidance for the primary decision. It does not mention get_request_status as the follow-up path or state when not to use this tool at all, so it stops short of an explicit alternatives section.

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

search_datapointsAInspect

Search data points offered by sellers.

Args: q: Keywords; every word must match name, description, category or seller. category: Exact category, e.g. finance, satellite, agriculture (see list_categories). seller_id: Only data points from this seller. max_price: Maximum price in credits (1 credit = $0.01). verified: True to only include verified data providers. limit: Max results (1-100).

NameRequiredDescriptionDefault
qNo
limitNo
categoryNo
verifiedNo
max_priceNo
seller_idNo

TDQS

A3.7/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It does add genuinely useful context absent from the schema — the credit conversion ('1 credit = $0.01') and the valid limit range (1-100) — but it never states that this is a read-only operation, how results are ordered, whether search is paged beyond 'limit', or what happens when no filters are supplied (all results vs none).

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 one-line purpose is front-loaded ahead of the parameter block, and each parameter line is a single sentence that earns its place with no filler. The raw 'Args:' docstring formatting is slightly mechanical but does not waste tokens.

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?

With six all-optional parameters, no annotations, and no output schema, the definition should say more about what a search returns (fields of a data point) and how this connects to the request_data/get_datapoint flow. The parameter block is complete, but the result shape and follow-up path are left to inference.

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 0%, so the description must do all the work, and it documents all six parameters with added meaning: q is AND-semantics across name/description/category/seller, category is exact-match with examples, max_price carries a currency conversion, and limit is bounded 1-100. This is meaningfully richer than the bare anyOf property names in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening line states a specific verb and resource ('Search data points offered by sellers'), which is clearly distinct from siblings like search_sellers, get_datapoint and request_data. It does not explicitly contrast itself with those siblings, so it stops short of a 5.

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?

Usage is implied rather than stated: the tool is for finding data points, and the category parameter cross-references list_categories ('see list_categories'). There is no explicit when-to-use guidance, no note that get_datapoint/request_data is the follow-up step, and no mention of when to prefer search_sellers instead.

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

search_sellersCInspect

Search data sellers by keywords and/or category. verified=True for verified providers only.

NameRequiredDescriptionDefault
qNo
limitNo
categoryNo
verifiedNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses that verified=True restricts results to verified providers, but says nothing about read-only behavior, pagination, default result limits, ordering, or what the response contains.

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 definition is two short sentences and front-loads the core purpose before the verified-filter detail. It is appropriately sized, though the second sentence is slightly fragmentary rather than fully structured.

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

Completeness2/5

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

For a four-parameter search tool with no annotations and no output schema, the description is too thin. It omits pagination or limit behavior, result ordering, return shape, and how the search behaves when both q and category are supplied.

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

Parameters2/5

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 all four parameters. It clarifies that q means keywords, category filters by category, and verified=True means verified providers only, but it does not explain the limit parameter, its default of 20, or how q and category interact.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: search data sellers by keywords and/or category, plus a verified-only filter. It is clear what the tool does, but it does not distinguish itself from siblings such as search_datapoints or list_categories.

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 phrase 'by keywords and/or category' implies how the search inputs can be combined, and the verified filter implies a refinement use case. However, there is no explicit guidance on when to use this versus get_seller, list_categories, or search_datapoints.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updatesv0.1.1
    • First observedget_datapoint
    • First observedget_request_status
    • First observedget_seller
    • First observedlist_categories
    • First observedrequest_data
    • First observedsearch_datapoints
    • First observedsearch_sellers

TDQS

A3.6/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct resource and action: listing categories, searching data points, searching sellers, fetching individual details, requesting data, and checking request status. The search vs. get pairs are clearly differentiated by keyword-based discovery versus id-based retrieval, and the two search tools operate on different entity types.

Naming Consistency5/5

All tools use a consistent snake_case verb_noun convention (list_categories, get_seller, search_datapoints, get_datapoint, search_sellers, request_data, get_request_status). The only slight variation is the three-part get_request_status, which remains predictable and readable.

Tool Count5/5

Seven tools is well-scoped for a data marketplace: category listing, seller discovery, data point discovery, detail views, and the request/status lifecycle. Each tool has a clear role and no redundant tools appear present.

Completeness4/5

The consumer-side marketplace workflow is well covered from browsing categories and sellers through requesting data and checking status. Minor gaps remain around managing existing requests, such as listing all requests or cancelling a queued request, but agents can work around these.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents to search, inspect, and purchase physical goods on an escrow-secured marketplace, including listing search, agent reputation checks, and offer creation.
    44
    779 npm
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI agents to access verifiable DePIN supply-side telemetry, browse and purchase data products using credits, query datasets, and verify data provenance with cryptographic and zero-knowledge tools.
    10
    21 npm
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Provides protocol-neutral market intelligence for the AI agent economy, with read-only tools to search agents, retrieve details and histories, compare agents, list categories, view category rankings, and access methodology.
    -