DIEM Agent Workers
Integrates with Coinbase Developer Platform (CDP) for x402 payment gating, enabling USDC payments for each worker call, and publishes agent services to the Coinbase Bazaar marketplace.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DIEM Agent WorkersSummarize the key points from this text."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
DIEM Agent Workers
Privacy-first, machine-discoverable micro-work powered by private Venice inference and paid in USDC through x402.
This repository is a fail-closed, agent-first Base mainnet storefront. It exposes six bounded workers over plain HTTP + x402, publishes them to the CDP Bazaar, and adds A2A 1.0, MCP, OpenAPI, llms.txt, and portable-skill discovery surfaces.
Public beta: diem-agent-workers.vercel.app
Worker | Bounded outcome | Beta price |
| Caller-schema-valid extraction | $0.020 USDC |
| Exactly one caller-supplied label | $0.010 USDC |
| Structured abstract and key points | $0.020 USDC |
| Up to 1,000 characters as MP3 | $0.010 USDC |
| One safe-mode 1024px WebP | $0.020 USDC |
| Up to 60 seconds of verified PCM WAV | $0.015 USDC |
These are fixed prices per successful authorization attempt, not estimates. The public deployment is a low-cap Base mainnet beta: an atomic 0.25 DIEM software budget limits daily inference starts, while the Venice API key retains a separate 1.69 DIEM provider backstop.
Privacy by design
Prompts, outputs, payer addresses, transaction hashes, IP addresses, user agents, and request identifiers are excluded from durable metrics.
Request and provider bodies are not intentionally logged or persisted.
Public reliability statistics are lifetime aggregates only; there are no timestamps or time buckets that could reveal activity patterns.
Workers use private Venice models, with web search, scraping, and model tool use disabled.
Delivery protection stores only HMAC fingerprints and bounded state needed to redeem an interrupted delivery.
The optional USDC-to-DIEM treasury remains disabled in production and is not part of the storefront runtime. No wallet signer or private key is deployed to Vercel.
Related MCP server: signal402-mcp
What is implemented
Three Venice structured-output text workers with post-response JSON Schema validation
Bounded Venice speech, image, and transcription workers
Native Venice API-key compute ceiling of 1.69 DIEM per EPOCH (daily, resetting at 00:00 UTC)
Atomic Upstash-backed software ceiling of 0.25 DIEM of conservatively reserved work per UTC day
An environment-backed storefront kill switch checked before payment
Input validation before payment, including exact PCM WAV duration checks
Pre-payment Venice epoch-access, model-online, private-model, and capability checks
Free machine-readable catalog and per-worker fixed-price quotes
OpenAPI 3.1,
llms.txt, A2A 1.0 Agent Card, JSON-RPCSendMessage, and Streamable HTTP MCP discoveryx402 exact-price USDC payment gating through the CDP Facilitator
Rich per-worker x402 Bazaar schemas, service name, topical tags, and service icon
Official MCP Registry metadata for the public Streamable HTTP server
Privacy-preserving runtime telemetry plus durable lifetime aggregate reliability, settlement, revenue, latency-bucket, and DIEM counters
Durable, idempotent paid-delivery credits backed by atomic Upstash Redis state
Published machine-readable terms linked from every response and discovery surface
Payments sent directly to a dedicated treasury address
Quote-only and live USDC-to-DIEM treasury modes
Hard-coded Base USDC, Venice DIEM, chain ID, and 0x AllowanceHolder
Exact approvals, per-swap limits, slippage cap, ETH gas reserve, process lock, and owner-only audit log
Installable agent skill and local/stdio MCP adapter
The service is not affiliated with or endorsed by Venice.ai.
Local start
Requirements: Node.js 22+ and pnpm.
cp .env.example .env
pnpm install
pnpm test
pnpm devAdd a server-side Venice key to .env:
VENICE_API_KEY=...
VENICE_TEXT_MODEL=venice-uncensored-1-2
VENICE_IMAGE_MODEL=venice-sd35
VENICE_TTS_MODEL=tts-kokoro
VENICE_ASR_MODEL=openai/whisper-large-v3
VENICE_DIEM_EPOCH_CAP=1.69VENICE_DIEM_EPOCH_CAP publishes the cap in service discovery and must match the native EPOCH consumption limit configured on the Venice API key. Venice enforces the hard stop. Before issuing a 402, the service also checks current epoch access and the exact configured model's online/private/capability state; it never estimates DIEM billing from token counts.
The development server binds to 127.0.0.1:8402.
curl http://127.0.0.1:8402/health
curl http://127.0.0.1:8402/v1/catalog
curl -X POST http://127.0.0.1:8402/v1/quote/classify_textWith PAYMENTS_MODE=off, the worker is callable without payment for local testing:
curl -X POST http://127.0.0.1:8402/v1/jobs/extract-json \
-H 'Content-Type: application/json' \
-d '{
"source": "The Acme Trail Mug is drinkware and costs $18.50.",
"schema": {
"type": "object",
"properties": {
"name": {"type": ["string", "null"]},
"category": {"type": ["string", "null"]},
"price_usd": {"type": ["number", "null"]}
},
"required": ["name", "category", "price_usd"],
"additionalProperties": false
}
}'Production refuses to start unless PAYMENTS_MODE=production, durable delivery credits are enforced, the global compute budget is enforced, and aggregate-only metrics are enabled. The checked-in and local defaults remain PAYMENTS_MODE=off, STOREFRONT_ENABLED=false, AGGREGATE_METRICS_MODE=off, and TREASURY_MODE=disabled.
Add x402 payments
Import a downloaded CDP Secret API Key without printing its values:
pnpm credentials:import-cdp /absolute/path/to/cdp_api_key.jsonThe command tightens both the downloaded key file and .env to owner-only permissions. It refuses to overwrite configured credentials and does not enable payments.
Start on Base Sepolia:
PAYMENTS_MODE=development
TREASURY_ADDRESS=0xYourDedicatedEvmAddress
CDP_API_KEY_ID=...
CDP_API_KEY_SECRET=...The server uses the address form of the CDP configuration, so payments settle directly to TREASURY_ADDRESS; CDP does not provision or control that wallet. An unpaid request to the worker should return HTTP 402 and a PAYMENT-REQUIRED header.
Paid-delivery protection
Mainnet is fail-closed unless durable delivery credits are enforced. Provision an Upstash Redis database through the Vercel Marketplace, then configure:
DELIVERY_CREDITS_MODE=enforced
DELIVERY_CREDIT_HMAC_SECRET=<at-least-32-random-bytes>
DELIVERY_CREDIT_TTL_SECONDS=86400
DELIVERY_CREDIT_LEASE_SECONDS=180
UPSTASH_REDIS_REST_URL=...
UPSTASH_REDIS_REST_TOKEN=...Agents should generate one unpredictable Idempotency-Key per logical job and
reuse it only with the identical request and payment authorization. Signed paid
attempts without the header fail before settlement. The Redis record contains
only HMAC fingerprints, worker ID, state, lease, and expiry—never request bodies,
provider responses, payer addresses, payment headers, or transaction hashes.
Normal successful delivery consumes the key. If the process is interrupted after
settlement but before delivery completes, the same authorization, key, worker, and
request may redeem one retry without another settlement. Conflicting reuse is
rejected, and storage outages return 503 before settlement.
Mainnet compute budget and kill switch
Production also requires an atomic global compute budget:
COMPUTE_BUDGET_MODE=enforced
COMPUTE_BUDGET_DIEM_PER_DAY=0.25
AGGREGATE_METRICS_MODE=enabled
STOREFRONT_ENABLED=trueThe service reserves a conservative amount equal to the job's USDC price after x402 verification but before Venice inference. Delivery retries reserve again because they can consume provider capacity even when the buyer is not charged again. A Redis outage or exhausted budget aborts new payment settlement and blocks inference. Set STOREFRONT_ENABLED=false and redeploy to disable all paid work before payment.
Run the guarded local Base Sepolia settlement test with:
pnpm test:sepoliaThis is an actual testnet transaction: it creates an ephemeral in-memory buyer,
requests faucet USDC, validates the exact quote before signing, pays one worker
call, and reconciles the treasury's test-USDC increase. It refuses to run unless
the saved PAYMENTS_MODE is off and TREASURY_MODE is disabled. Local HTTP
tests are not published to Bazaar; a public HTTPS deployment is required.
Mainnet launch checklist:
Use a dedicated, low-balance treasury wallet—not a personal wallet.
Verify the address and Base network.
Deploy behind public HTTPS.
Validate the x402 endpoint with the CDP validation API.
Publish and review TERMS.md; every API response links to
/terms.Enable durable delivery credits and the 0.25 DIEM atomic software budget.
Set
PAYMENTS_MODE=production, keepTREASURY_MODE=disabled, and deploy.Complete one real low-value payment so Bazaar can index the Base mainnet resource.
The mainnet acceptance harness uses a distinct cents-only buyer kept in macOS Keychain, verifies every payment requirement before signing, and refuses a combined storefront authorization above $0.095 USDC. Select individual workers with MAINNET_X402_TEST_WORKERS or use pnpm test:mainnet:all; multi-worker runs require the exact acknowledgement PAY_UP_TO_0_095_USDC_WITH_DISTINCT_BUYER_ON_BASE. Its output deliberately omits wallet addresses, transaction hashes, request bodies, and provider responses.
Reinvest USDC into DIEM
The treasury is a deterministic one-shot runner, not a prompt-driven wallet agent.
Create a new dedicated wallet on macOS with:
pnpm wallet:createThe command stores the private key in macOS Keychain and writes only the public address and Keychain labels to .env. It refuses to replace an existing wallet and requires payments and treasury execution to be disabled.
For seed-phrase recovery, create a dedicated wallet in a trusted wallet app, keep its seed phrase offline, export only its treasury account private key, and import that key through a hidden local prompt:
pnpm wallet:importNever enter the seed phrase into the project. The import command displays the derived public address for confirmation, stores the account key in macOS Keychain, and replaces the previous disabled treasury configuration only after Keychain readback succeeds.
Verify ownership and read Base balances without revealing the key:
pnpm wallet:verifySee docs/WALLET_ACCESS.md for the macOS-authenticated recovery and wallet-import path. Never send a private key through chat; if you already control a wallet, share only its public 0x address.
Quote-only mode reads balances and requests an indicative 0x price, but never signs:
TREASURY_MODE=quote
TREASURY_ADDRESS=0xYourDedicatedEvmAddress
BASE_RPC_URL=https://your-base-rpc.example
ZEROX_API_KEY=...
TREASURY_MIN_SWAP_USDC=5
TREASURY_MAX_SWAP_USDC=25
TREASURY_USDC_HOLDBACK=0
TREASURY_MAX_SLIPPAGE_BPS=100
TREASURY_MIN_ETH_RESERVE=0.0005pnpm treasury:runLive mode additionally requires the matching dedicated key from macOS Keychain (or a production secret manager) and an exact acknowledgement:
TREASURY_MODE=live
TREASURY_LIVE_ACK=BUY_DIEM_ONLY_ON_BASEUse a production secret manager rather than a plaintext .env when deployed. The live runner:
Refuses a key that does not match
TREASURY_ADDRESSRefuses the wrong token pair, chain, allowance target, native value, or excess gas
Approves only the intended USDC amount
Refreshes the firm quote after approval
Records the signed transaction hash before broadcast and reconciles it after a restart
Verifies that USDC decreased by no more than the authorized amount and DIEM increased
Writes
0600JSONL audit records underdata/
The runner does not sell DIEM, withdraw USDC, bridge assets, select arbitrary tokens, or stake DIEM.
Machine discovery
GET /v1/catalog— capabilities, schemas, constraints, priceGET /v1/stats— lifetime aggregate reliability and settlement counters with no caller identities or time seriesGET /.well-known/agent-catalog.json— crawler-friendly catalog aliasGET /openapi.json— OpenAPI 3.1 contractGET /llms.txt— concise agent-readable indexGET /.well-known/agent-card.json— A2A 1.0 Agent CardPOST /a2a— A2A 1.0 JSON-RPCSendMessageadapter at a fixed $0.020 USDC pricePOST /mcp— stateless Streamable HTTP MCP server with free catalog, quote, and call-preparation toolsskills/extract-text-to-json/— portable agent skillGET /icon.svg— stable service icon used by x402 Bazaar metadatax402 Bazaar metadata — schemas, service name, five topical tags, and icon automatically attached when payments are enabled
The MCP adapter intentionally does not accept wallet keys. Agents execute prepared calls with their own x402-capable client or use Coinbase's Bazaar MCP server, which can discover indexed x402 resources.
The remote MCP server is described by server.json under the io.github.coastmancoastman/diem-agent-workers namespace for publication to the official MCP Registry.
Private storefront telemetry
Production emits one-line JSON events to the server runtime log. The schema is an explicit allowlist: route category, HTTP status, latency, worker, coarse error class, model, exact settled price, and estimated DIEM cost/margin. Cost estimates use Venice's public model-pricing catalog and do not query account balances or billing history.
Telemetry never includes prompts, outputs, prompt length, token counts, raw URLs, request IDs, IP addresses, user agents, headers, payer identities, transaction hashes, provider request IDs, or credentials. Telemetry failure never blocks a worker response.
Create a local aggregate report from a saved JSONL file:
pnpm telemetry:report /absolute/path/to/runtime-logs.jsonlOr report recent production logs from the linked Vercel project:
vercel logs --environment production --since 24h --no-branch --json --limit 1000 \
| pnpm telemetry:reportThe report contains request and payment counts, settled USDC revenue, estimated DIEM cost and gross margin, latency percentiles, and coarse failure counts. It cannot reconstruct individual customer content or identity.
Because serverless runtime logs are not a durable business ledger, production also writes atomic lifetime aggregate counters to the same Upstash database used for safety state. GET /v1/stats publishes completed/failed runs, coarse failure classes, fixed latency buckets, settlements, revenue, and DIEM estimates by worker. The counter key contains no dates or timestamps, and the write API accepts no free-form customer or request fields.
Security and legal notes
Use of the service is governed by TERMS.md, also published at /terms. Read SECURITY.md and docs/END_USER_TERMS_CHECKLIST.md before accepting third-party work. AI output matching a schema is not proof that its contents are correct. Do not use this worker for high-stakes decisions.
Verification
The current production acceptance evidence, including all six Base Sepolia settlement transactions, is recorded in docs/BASE_SEPOLIA_ACCEPTANCE.md.
pnpm check
pnpm test
pnpm build
pnpm generate:openapi
ALLOW_VENICE_EVAL=1 VENICE_EVAL_MODELS=venice-uncensored-1-2 pnpm eval:textThe live evaluation is opt-in because it consumes Venice capacity. It prints aggregate accuracy and latency only; it does not persist prompts or provider responses.
Available Tools
3 toolslist_diem_workersList DIEM Agent WorkersAInspect
List bounded x402-paid workers, exact USDC prices, schemas, limits, and endpoints. This tool is free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It explicitly states the tool is free, which is useful context, and 'List' implies a read-only operation. However, it does not discuss authentication, rate limits, or potential side effects, though for a simple listing these are less critical.
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 two short sentences with no wasted words. It front-loads the core purpose and adds a valuable cost-related note ('This tool is free') without 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 there is no output schema and no annotations, the description covers the main return categories (prices, schemas, limits, endpoints) and cost behavior. However, terms like 'x402-paid' and 'bounded' are undefined, and the relationship to quote/prepare siblings is not explained, leaving minor gaps.
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?
The input schema is empty (0 parameters), so the baseline is 4 and there are no parameter semantics to clarify. The description instead enumerates the output content (exact USDC prices, schemas, limits, endpoints), which helps the agent understand what the listing will provide.
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 ('List') with a clear resource ('bounded x402-paid workers') and the exact data returned (USDC prices, schemas, limits, endpoints). This clearly distinguishes it from siblings like quote_diem_worker and prepare_diem_worker_call, which are not list operations.
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 this is a free catalog/inspection tool, but it does not explicitly state when to use it versus the sibling quote/prepare tools. The phrase 'This tool is free' hints that it is a safe way to browse before committing, but no explicit when-to-use or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_diem_worker_callPrepare a DIEM Worker CallAInspect
Validate worker selection and return the exact HTTP request shape. Execute it with an x402-capable client or through the CDP Bazaar MCP server; this server never receives wallet private keys.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | ||
| worker | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and discloses key behavior: it returns a request shape rather than executing, and highlights that the server never receives wallet private keys. It could add error behavior or prerequisites but offers valuable non-obvious 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?
The description is two sentences, front-loaded with the primary purpose, and each clause adds value. It avoids redundancy and is well below typical verbosity.
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?
While it captures the tool's purpose and execution path, it lacks parameter-level detail and output schema specifics. The input object remains unexplained, and the 'exact HTTP request shape' is referred to without describing its format, leaving uncertainty for an agent.
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?
The schema has 0% description coverage. The description only references 'worker selection' but doesn't explain the worker enum meaning or the input object structure. It fails to provide necessary guidance for constructing the input parameter.
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 the tool validates worker selection and returns the exact HTTP request shape, using specific verb 'return' and resource 'HTTP request shape.' This distinguishes it from sibling tools list_diem_workers and quote_diem_worker, which list and quote workers respectively.
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?
It provides clear usage context by instructing to execute the request with an x402-capable client or the CDP Bazaar MCP server, and notes the server never receives private keys. However, it doesn't explicitly compare with sibling tools or state when to use this over list or quote, only implying selection precedes this.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quote_diem_workerQuote a DIEM Agent WorkerAInspect
Return a free exact-price x402 USDC quote for one worker.
| Name | Required | Description | Default |
|---|---|---|---|
| worker | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It adds useful traits ('free', 'exact-price') and implies a read-only quote operation, but it does not mention side effects, validity period, or error handling. The behavior is not fully transparent.
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 a single, front-loaded sentence with no filler. It efficiently conveys the core action, price characteristics, and target scope without unnecessary 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?
The tool is relatively simple (1 param, no output schema, no annotations). The description gives the essential purpose but does not describe the response format or any prerequisites. It is adequate for a basic quote tool but leaves gaps around return value structure and edge cases.
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. However, it merely says 'for one worker', which adds little meaning beyond the schema's property name and enum. It does not explain what a 'worker' is or how to choose among the enum values, leaving the agent to infer from the parameter name.
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 the tool's function: 'Return a free exact-price x402 USDC quote for one worker.' It uses a specific verb ('Return') and resource ('x402 USDC quote'), and distinguishes from siblings by focusing on quoting rather than listing or preparing calls.
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 makes the tool's purpose clear, implying it should be used when a worker quote is needed, but it does not explicitly mention when to use it over sibling tools like list_diem_workers or prepare_diem_worker_call. No explicit exclusions or alternatives are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Tools are mostly distinct: list_diem_workers enumerates all workers with prices, quote_diem_worker gives a specific quote for one worker, and prepare_diem_worker_call constructs the HTTP request. However, the overlap between list (which already provides exact prices) and quote could potentially confuse an agent about which to use for pricing.
All tool names follow a consistent verb_noun pattern: list_diem_workers, quote_diem_worker, and prepare_diem_worker_call. The naming is predictable and clearly indicates the action performed on the worker resource.
With only 3 tools, the server is tightly scoped to its purpose: discovering workers, getting a quote, and preparing a call. Each tool is essential and there is no bloat or unnecessary redundancy.
The tool set covers the full workflow from listing workers to preparing a call for execution. The actual execution is intentionally delegated to an external x402-capable client or CDP Bazaar MCP server, so no dead ends or missing steps for the server's stated purpose.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Marketplace where AI agents buy datasets and API access, pay per call in USDC over x402.
x402-paid agent tools: 18 over HTTP, 14 over stdio. USDC per call, no API key.
Search 15K+ MCP services, A2A agents, and x402 APIs from 5 registries. Paid via x402 (USDC on Base).
Pay-per-use tool marketplace for AI agents. Search, price-check, and call APIs via MCP.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables MCP-compatible agents to discover and call x402 paid services from a directory of over 2,000 APIs.Apache 2.0
- FlicenseNot gradedqualityFmaintenanceEnables AI agents to discover, evaluate, and call any x402 API service with automatic USDC payment, including tools for wallet setup, service catalog browsing, recommendations, health checks, and direct API calls.10
- AlicenseAqualityCmaintenanceProvides AI agents with 10 pay-per-call utility tools (QR generation, DNS lookup, OCR, etc.) using USDC on Base via the x402 protocol, with agent's private key never leaving the agent.1167MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to discover and pay for MCP tools on a sub-cent, pay-per-call basis using x402 and Algorand USDC settlements.7MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/coastmancoastman/diem-agent-workers'
If you have feedback or need assistance with the MCP directory API, please join our Discord server