agent-market-signals

agent-market-signals

An MCP server that provides tools to audit AI-agent marketplace integrity by scanning listings for deceptive patterns like fabricated engagement, automated seeding, self-advertisement, unpaid work risk, and high-budget bait.

Category
访问服务器

README

<p align="center"> <img src="assets/logo.svg" width="112" alt="agent-market-signals logo"> </p>

<h1 align="center">agent-market-signals</h1>

<p align="center"> <a href="https://github.com/Echolonius/agent-market-signals/actions/workflows/test.yml"><img src="https://github.com/Echolonius/agent-market-signals/actions/workflows/test.yml/badge.svg" alt="tests"></a> <img src="https://img.shields.io/badge/license-MIT-green.svg" alt="license MIT"> <img src="https://img.shields.io/badge/python-3.9%2B-blue.svg" alt="python 3.9+"> <img src="https://img.shields.io/badge/dependencies-none-brightgreen.svg" alt="no dependencies"> <img src="https://img.shields.io/badge/MCP-server-8A2BE2.svg" alt="MCP server"> </p>

An open standard — and a dependency-free reference implementation — for auditing the integrity of AI-agent marketplaces.

Agent marketplaces — where AI agents advertise services, bid on work, and get paid — are growing fast, and so is the noise inside them: job boards that are mostly agents advertising themselves, listings showing dozens of "applications" that nobody has viewed, priced work that gets delivered and never paid. This project turns those patterns into small, precise, citable checks that anyone on any side of the market can call upon — a marketplace proving its own board is clean, a buyer's agent vetting where to spend, a seller's agent deciding where to work, a third-party auditor, a researcher, or a solo user who just told their agent to go find work and wants to avoid the traps.

Two layers, so it is useful as more than a script:

  • SPEC.md — an implementation-neutral specification with stable indicator IDs (AMS-001AMS-005) anyone can implement in any language or cite by ID.
  • This package — a reference implementation of the spec in dependency-free Python, usable as a library, a command-line tool, or an MCP server an AI agent can call at decision time.

It encodes patterns observed first-hand while operating an autonomous agent across several live marketplaces in the first half of 2026. The field notes behind it are written up in the FIELD-REPORT.

What it checks

Indicator Fires when Why it matters
view_application_inversion applications exceed views (starkest: >0 applications, 0 views) you must view a listing to apply, so this is arithmetically implausible — a sign of fabricated engagement
batch_creation_clustering many listings share a creation timestamp to the second signature of automated seeding, not organic demand
self_advertisement_ratio most listings are agents advertising their own services a supply glut presented to newcomers as demand
unpaid_work_risk priced work with no escrow and no payment-evidence mechanism payment depends entirely on poster discretion after delivery
high_budget_bait a budget far above the platform median with zero views a big number that attracts applicants while no real buyer is engaged

Every check stays silent when the data it needs is missing — absence of evidence is never treated as evidence. Findings are advisory signals for a human or a downstream system to weigh, not verdicts, and each one explains its own reasoning.

Each indicator carries a stable ID so it can be cited precisely (e.g. "AMS-004 unpaid-work risk"); the full definitions, severities, and known false positives live in SPEC.md.

Install

No third-party dependencies — Python 3.9+ standard library only. Install straight from GitHub (no package-registry account involved):

pip install git+https://github.com/Echolonius/agent-market-signals

Or just clone the repo and use it in place.

Use it as a library

from datetime import datetime
from agent_market_signals import Listing, scan

listings = [
    Listing(id="job-1", created_at=datetime.fromisoformat("2026-01-14T12:00:00"),
            views=0, applications=24, budget=2500.0,
            has_escrow=False, has_payment_evidence=False),
    # ...
]
report = scan(listings)
print(report["summary"])          # {"info": 0, "warn": 1, "high": 1}
print(report["coverage"])         # how many listings carried each field
for f in report["findings"]:
    print(f["severity"], f["indicator"], f["detail"])

The report includes an at-a-glance verdict (high_risk / caution / clear), a coverage map (how many listings carried each field), and a views_tracked flag, so an auditor gets a fast headline and can see how much was actually assessable. The verdict is intentionally categorical, not a false-precise 0–100 score, and clear on sparse data is not a clean bill of health.

Use it from the command line

python -m agent_market_signals examples/sample_listings.json

Prints a JSON report and exits 1 if any high-severity finding was raised (handy in CI or a cron watcher), else 0.

Use it from an AI agent (MCP server)

So an agent can call these checks at decision time — "before I bid on this listing, check it" — the package ships an optional MCP server. It runs locally over stdio; it hosts nothing and sends nothing anywhere.

pip install "agent-market-signals[mcp] @ git+https://github.com/Echolonius/agent-market-signals"

Then point any MCP-capable client at the agent-market-signals-mcp command. For example, in a Claude Desktop / Claude Code MCP config:

{
  "mcpServers": {
    "agent-market-signals": {
      "command": "agent-market-signals-mcp"
    }
  }
}

The server exposes four tools:

Tool What the agent uses it for
scan_listings vet a whole marketplace board before trusting its numbers
check_listing check a single listing before bidding on or accepting it
list_indicators discover what is checked (stable AMS-* IDs) and cite findings precisely
make_observation opt-in, privacy-preserving contribution to improve shared thresholds

Data format

Listings are normalized records; only id and created_at are required, and every other field may be omitted (the relevant checks simply won't run). See SCHEMA.md.

Improving over time (optional, privacy-first)

The checks get sharper as more people run them — but only through a design that never phones home and never leaks anything. Running a scan sends nothing anywhere. If a user opts in, a minimal, non-reversible summary (to_observation() — coarse buckets and boolean flags, no platform, no listings, no identity) can be contributed via an ordinary pull request and reviewed by a human, so thresholds can be tuned to reality and new patterns discovered without any automatic, poisonable, data-hungry pipeline. The full design — including what we deliberately refuse to build — is in FLYWHEEL.md.

Honest scope and limitations

  • These are heuristics, not proof. They flag patterns worth a human's attention. A flagged listing is not proven fraudulent, and an unflagged one is not proven clean.
  • It measures signals, it does not rank models. This is deliberately not a benchmark of GPT / Claude / Gemini / Llama agents. A credible benchmark needs longitudinal, reproducible measurement; this toolkit is a piece of the data substrate one could build toward, not the benchmark itself. We would rather ship something true and small than something impressive and fabricated.
  • The thresholds are defaults, not laws. self_advertisement_ratio's 80%, high_budget_bait's 3× median, and the rest are starting points; tune them to your platform and say so when you do.
  • Contributions welcome. New indicators grounded in real, describable observations — and counter-examples that show a detector is too aggressive — are equally valuable.

How this fits with existing work

The agent-trust space is active, and this project deliberately occupies a narrow, specific niche rather than competing with the heavyweight efforts. Being honest about that is the point:

  • ERC-8004 (Ethereum Foundation, Google, Coinbase, MetaMask; mainnet Jan 2026) gives agents on-chain identity and reputation registries — it answers "is this counterparty trustworthy?" It is blockchain-based and about the agents. This project is orthogonal and complementary: it answers "are this marketplace's own published signals honest?", needs no blockchain, and runs on any listing data. Its findings could feed a reputation system like ERC-8004; it does not replace one.
  • Agent Bazaar and Magentic Marketplace (academic / Microsoft Research) are simulation environments for studying agentic markets. Agent Bazaar notably models "Sybil Deception" (deceptive agents flooding a market with fraudulent listings) and proposes detector agents. Those are research frameworks; this is a small, deployable implementation of similar detection ideas, grounded in first-hand field observation rather than simulation.
  • Fake-job-posting ML classifiers target the human job market with models trained on listing text. This is agent-marketplace-specific, uses transparent arithmetic (not an opaque model), and is auditable line by line.

Honest positioning: the underlying ideas are not unprecedented — coordinated-listing / Sybil detection appears in the research literature. What this adds is a citable, implementation-neutral specification plus a tiny, transparent, dependency-free, blockchain-free reference implementation that an operator can adopt in minutes and an agent can call at decision time. It is the "audit the board's own signals" layer, complementary to the "identify and score the agents" layer the large standards are building.

Why this exists

The rules and norms for agent commerce are being written right now — by standards bodies, platforms, and regulators — largely without ground truth from inside the marketplaces. Making the deceptive patterns cheap to detect is a small way to push the ecosystem toward one where honest signals are the default, so ordinary people can eventually trust an agent to do real work and actually get paid. Free to use and quote with attribution.

License

MIT — see LICENSE.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选