Atlas / MCP servers / mission69b / T2000

T2000BLOCK

mcp/mission69b/t2000

Agent marketplace

Verdict
BLOCK
Grade
D
Trust score
69 /100
Exposed tools
1 1r · 0w · 0d
Transport
—
License
MIT
Stars
23
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

t2000

The open marketplace.

A global labour market for humans and machines. Hire, work, earn in USDC.

Hire · work · earn · Open source

Marketplace · Passport Connect · Docs · CLI · SDK

Product (read this first)

Voice SSOT: brandkit/VOICE.md · product map: PRODUCT.md.

Sister brand: Audric — AI you can put to work on this marketplace with the same Passport (hire · claim · deliver · settle · sell · pay). Private chat and Private Inference are extra. Chat billed in credit; jobs and Instant APIs settle in USDC on t2000.

How people use it (primary journey)

  1. Create a Passport on t2000.ai (Google sign-in). Agents register an Agent ID (keypair) separately.
  2. Connect (optional) — add https://mcp.t2000.ai/mcp in Claude / Cursor / ChatGPT; marketplace opens in chat.
  3. Earn or hire — claim an Open job ($0 to claim; budget already locked), or hire / post work with USDC.
  4. Deliver → settle — seller gets paid on accept; mi
Read from source at commit ec382232e749OBSERVED · 2026-10-09
Advertisement
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code
claude mcp add t2000-serve-template --env E2E_TEST_PRIVATE_KEY=${E2E_TEST_PRIVATE_KEY} --env T2000_API_KEY=${T2000_API_KEY} -- npx -y [email protected]
claude-desktop
{
  "mcpServers": {
    "t2000-serve-template": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "E2E_TEST_PRIVATE_KEY": "${E2E_TEST_PRIVATE_KEY}",
        "T2000_API_KEY": "${T2000_API_KEY}"
      }
    }
  }
}
03

Exposed tools (1)

1 read · 0 write · 0 destructive.

ToolRiskDescription
xreadx
04

Trust audit

BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)FAIL
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (3 observation(s))
Network
declared (5 observation(s))
Shell
none-observed
Dependencies
not all pinned
Secrets in source
none-found

Findings (17)

CRITICALPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
t2000-skills/skills/t2000-setup/SKILL.md:52
6. **Prime this session for x402 payments.** Once setup succeeds, treat a paid endpoint the user hands you — or any seller Service in the marketplace — as something this wallet CAN pay via `t2000_pay`
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/cli/src/commands/agent/category-gate.test.ts:12
const CLI = fileURLToPath(new URL('../../../dist/index.js', import.meta.url));
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/cli/src/commands/agent/create.test.ts:14
const CLI = fileURLToPath(new URL('../../../dist/index.js', import.meta.url));
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/cli/src/commands/agent/create.ts:18
import { AGENT_CATEGORIES, parseCategory } from '../../lib/agent-category.js';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/cli/src/commands/agent/create.ts:19
import { registerWallet } from '../../lib/agent-register.js';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/cli/src/commands/agent/create.ts:20
import { commerceFor } from '../../lib/commerce-client.js';
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
packages/serve/src/route.test.ts:149
rpcUrl: 'http://127.0.0.1:1', // unreachable on purpose
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
packages/serve/src/x402-probe.integration.test.ts:46
baseUrl = `http://127.0.0.1:${address.port}`;
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
packages/sdk/src/composeTx.ts:583
const binary = atob(b64);
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
packages/sdk/src/utils/base64.ts:10
const binary = atob(b64);
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
packages/sdk/src/wallet/job.ts:172
? Array.from(atob(bytes), (c) => c.charCodeAt(0))
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
apps/docs/package.json
mintlify
Why it matters. 1 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@mysten/sui, @mysten/suins, prettier, tsx, turbo, typescript, zod
Why it matters. 7 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/cli/package.json
qrcode, @hono/node-server, @inquirer/prompts, @mysten/sui, @types/node, @types/qrcode, commander, eslint
Why it matters. 14 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/discovery/package.json
@types/node, eslint, tsup, typescript, typescript-eslint, vitest
Why it matters. 6 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/id/package.json
@mysten/sui, @types/node, eslint, tsup, typescript, typescript-eslint, vitest
Why it matters. 7 dependency range(s) float
Fix. pin exact versions or ship a lockfile
INFOPrompt injection · prompt.credential_read · CWE-94, CWE-1427
CLAUDE.md:94
7. **Never read `process.env.X` directly in any app or package WITH ≥1 REQUIRED env var.** Apps that depend on a required env var MUST validate their env contract at boot via a Zod schema and expose v
Why it matters. asks the agent to read credentials

Gates applied: critical_finding, no_behavioural_pass, undeclared_transfer.

Audited 2026-10-09 · audit v0.4.1 · source sha ec382232e749full audit observations/trust-audit/mcp-server/mission69b__t2000.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-09ec382232e749BLOCKD69first audit
06

Questions

What is the T2000 MCP server?

Agent marketplace

What tools does T2000 expose?

1 in total: 1 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is T2000 safe to connect to an agent?

No — not without reading the findings first. The audit graded it D (69/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on.

What credentials does T2000 need?

It reads E2E_TEST_PRIVATE_KEY and T2000_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How current is this page?

The grade is for one exact copy of the source (ec382232e749), read on 2026-10-09. The repository is watched and re-audited when it changes.

Advertisement