Skip to main content
Glama

d3p MCP Server

MCP server for the digital3 agent protocol (d3p) — exposes all d3p services as MCP tools that any MCP client can call.

Auto-discovers services from the d3p manifest and registers each as a tool, plus protocol-level tools for discovery, compatibility checking, pipeline execution, reputation, and pricing.

Quick Start

Install

pip install d3p-mcp-server

Or install from source:

git clone https://github.com/digital3/d3p-mcp-server.git
cd d3p-mcp-server
pip install -e .

Claude Desktop

Add to your claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json):

{
  "mcpServers": {
    "d3p": {
      "command": "d3p-mcp-server",
      "env": {
        "D3P_BASE_URL": "https://labs.digital3.ai",
        "D3P_MOCK_PAYMENTS": "true"
      }
    }
  }
}

Or run directly with Python:

{
  "mcpServers": {
    "d3p": {
      "command": "python3",
      "args": ["-m", "d3p_mcp_server"],
      "env": {
        "D3P_MOCK_PAYMENTS": "true"
      }
    }
  }
}

Claude Code

claude mcp add d3p -- d3p-mcp-server

SSE Mode (Remote)

d3p-mcp-server --sse --port 8888

Related MCP server: agentforge

Available Tools

Service Tools (auto-discovered)

Each d3p service is registered as d3p_{service_id}. All accept a JSON string parameter with the service's input fields.

Examples: d3p_btc-price, d3p_search, d3p_weather, d3p_vibe-check, etc.

Protocol Tools

Tool

Description

d3p_list_services

List all services with pricing and descriptions

d3p_discover

Search services by capability, price, reputation, latency

d3p_check_compatibility

Check if two services can be chained (output→input)

d3p_pipeline_execute

Execute a multi-service pipeline with atomic payments

d3p_pipeline_status

Check status of a running pipeline

d3p_pipeline_result

Get final result of a completed pipeline

d3p_pipeline_validate

Dry-run a pipeline (cost estimate, no execution)

d3p_pipeline_templates

List pre-built pipeline templates

d3p_reputation

Get reputation score for a service

d3p_price_quote

Get dynamic price quote for a service

d3p_protocol_info

Get protocol configuration info

Environment Variables

Variable

Default

Description

D3P_BASE_URL

https://labs.digital3.ai

Base URL for d3p services

D3P_MANIFEST_URL

{BASE_URL}/api/services/manifest

Manifest endpoint

D3P_MOCK_PAYMENTS

true

Set false for live L402 Lightning payments

D3P_TIMEOUT

15

Request timeout in seconds

Examples

List services

Ask Claude: "What d3p services are available?"

Get Bitcoin price

Ask Claude: "Use d3p to get the current Bitcoin price in USD"

Chain services

Ask Claude: "Search for Bitcoin news and then run sentiment analysis on the results using d3p"

Discover by capability

Ask Claude: "Find d3p services that do text analysis for under 50 sats"

Architecture

Claude Desktop / claude-code / Cursor
    │
    │ MCP (stdio or SSE)
    ▼
d3p MCP Server
    │
    │ HTTPS
    ▼
labs.digital3.ai (d3p protocol)
    │
    │ L402 Lightning
    ▼
autonom rails (payment layer)

Development

git clone https://github.com/digital3/d3p-mcp-server.git
cd d3p-mcp-server
pip install -e .
d3p-mcp-server --test

License

MIT

Available Tools

34 tools
d3p_bitcoin-price-in-gold-ouncesA

Convert Bitcoin's USD price to equivalent gold ounces Category: data | Cost: 5 sats | Endpoint: bitcoin-price-in-gold-ounces Parameters (pass as JSON string): bitcoin_price_usd (string) (required): The current Bitcoin price in US dollars gold_price_per_oz (string) (required): The current gold price per troy ounce in US dollars

Inputs: params. Returns: result

d3p_btc-priceA

Real-time Bitcoin price from CoinGecko with 24h change. Supports multiple fiat currencies. Category: oracle | Cost: 5 sats | Endpoint: btc-price Parameters (pass as JSON string): currency (string): Fiat currency code (usd, eur, gbp, etc.)

Inputs: params. Returns: result

d3p_cat-name-generatorA

Generate creative cat names based on physical characteristics and color Category: fun | Cost: 5 sats | Endpoint: cat-name-generator Parameters (pass as JSON string): characteristics (string) (required): Physical characteristics of the cat (e.g., fluffy, long-haired, short, muscular) color (string) (required): The color or coat pattern of the cat (e.g., orange, black, calico, tabby)

Inputs: params. Returns: result

d3p_check_compatibilityA

Check if two d3p services can be chained together — whether the output schema of one service is compatible with the input schema of another. Parameters (JSON string): source_service (str, required): service ID producing output (e.g. "search") target_service (str, required): service ID consuming input (e.g. "sentiment")

Inputs: params. Returns: result

d3p_check-hallucinationA

Analyze AI-generated text for hallucination risk based on linguistic markers. Returns confidence score and warnings. Category: analysis | Cost: 10 sats | Endpoint: check-hallucination Parameters (pass as JSON string): response (string): AI-generated text to check for hallucination markers

Inputs: params. Returns: result

d3p_client-closerA

Generate complete sales kit with cold email, follow-ups, objections, proposal, and pricing Category: text | Cost: 10 sats | Endpoint: client-closer Parameters (pass as JSON string): key_benefit (string) (required): The primary problem you solve or value you provide price_range (string) (required): Your expected price range or budget tier (e.g., '$500-$2000/month') product_description (string) (required): What your product or service does and its key features target_audience (string) (required): Who you want to sell to (company type, role, industry, etc.)

Inputs: params. Returns: result

d3p_compress-contextB

Compress an array of chat messages by keeping first and last, reporting reduction percentage. Category: text | Cost: 10 sats | Endpoint: compress-context Parameters (pass as JSON string): messages (array): Array of chat messages to compress

Inputs: params. Returns: result

d3p_discoverA

Search for d3p services by capability, price, reputation, or latency. All filter fields are optional — empty query returns all active services. Parameters (JSON string): capability (str): e.g. 'text_analysis', 'oracle', 'data' max_price_sats (int): max price filter min_reputation (float): minimum reputation score 0-1 output_compatible_with (str): output type filter max_latency_ms (int): max latency filter sort_by (str): 'reputation', 'price', 'latency' limit (int): max results (default 10)

Inputs: query. Returns: result

d3p_eli5A

Explain Like I'm Five. Paste in jargon-heavy text and get back a version a kindergartner could understand. Swaps technical terms for plain language. Chains great after search or code analysis. Category: text | Cost: 5 sats | Endpoint: eli5 Parameters (pass as JSON string): text (string) (required): Complex text to simplify

Inputs: params. Returns: result

d3p_emoji-sentimentA

Analyze text and return the emoji that best matches the vibe, plus a mood score. Feed it anything — tweets, DMs, commit messages — and get the emotional truth in one character. Category: analysis | Cost: 3 sats | Endpoint: emoji-sentiment Parameters (pass as JSON string): text (string) (required): Text to analyze for emoji sentiment

Inputs: params. Returns: result

d3p_error-translatorB

Translate HTTP status codes into human-readable explanations with fix suggestions. Category: data | Cost: 3 sats | Endpoint: error-translator Parameters (pass as JSON string): status_code (integer) (required): HTTP status code to translate

Inputs: params. Returns: result

d3p_ext-search-v2C

Third-party search that passes certification Category: data | Cost: 10 sats | Endpoint: ext-search-v2 Parameters (pass as JSON string): query (string) (required):

Inputs: params. Returns: result

d3p_json-formatterA

Pretty-print messy or minified JSON with syntax validation. Returns formatted output with depth/key stats, or precise error location with fix suggestions for invalid JSON. Category: code | Cost: 3 sats | Endpoint: json-formatter Parameters (pass as JSON string): json_string (string) (required): Raw JSON string to format and validate (max 50KB)

Inputs: params. Returns: result

d3p_launch-briefC

Generate a complete 5-platform launch plan with custom, ready-to-post content for your product Category: text | Cost: 10 sats | Endpoint: launch-brief Parameters (pass as JSON string): launch_date (string) (required): When the product is launching product_description (string) (required): What the product does and its key features product_name (string) (required): The name of the product or service being launched target_audience (string) (required): Who this product is built for unique_value (string) (required): What makes this product unique or different from competitors

Inputs: params. Returns: result

d3p_list_servicesA

List all available d3p services with their pricing, categories, and descriptions. Call this first to see what's available.

Inputs: no named parameters. Returns: result

d3p_pipeline_executeA

Execute a multi-service pipeline — chain d3p services together with automatic schema mapping and atomic payments. Parameters (JSON string): steps (list, required): pipeline step definitions, each with: service_id (str): which service to call input_mapping (dict): map from $pipeline_input or $steps.N.output pipeline_input (dict): initial input data max_total_sats (int): budget cap timeout_seconds (int): overall timeout Example: {"pipeline_input": {"query": "bitcoin news"}, "steps": [ {"service_id": "search", "input_mapping": {"query": "$pipeline_input.query"}}, {"service_id": "sentiment", "input_mapping": {"text": "$steps.0.output.answer"}} ]}

Inputs: pipeline. Returns: result

d3p_pipeline_resultA

Get the final result of a completed pipeline. Parameters: pipeline_id (str) — the ID returned by d3p_pipeline_execute

Inputs: pipeline_id (required). Returns: result

d3p_pipeline_statusA

Check the status of a running pipeline execution. Parameters: pipeline_id (str) — the ID returned by d3p_pipeline_execute

Inputs: pipeline_id (required). Returns: result

d3p_pipeline_templatesA

List pre-built pipeline templates (e.g. research, market_intel).

Inputs: no named parameters. Returns: result

d3p_pipeline_validateA

Dry-run a pipeline to check compatibility and get a cost estimate without actually executing it. Same input format as d3p_pipeline_execute.

Inputs: pipeline. Returns: result

d3p_post-optimizerA

Optimize social media posts for maximum engagement with strategic hashtags, timing, and reshare hooks. Category: text | Cost: 5 sats | Endpoint: post-optimizer Parameters (pass as JSON string): goal (string) (required): Optimization target: engagement, likes, shares, or followers post_content (string) (required): The draft tweet or X post to optimize

Inputs: params. Returns: result

d3p_price_quoteA

Get a dynamic price quote for a d3p service. Price varies by demand, caller reputation, and priority. Parameters (JSON string): service_id (str, required): which service to price priority (str): "urgent" (1.5x), "normal" (1x), or "batch" (0.8x)

Inputs: params. Returns: result

d3p_pricing-coachC

Generate a complete pricing strategy with tier recommendations, psychological insights, and landing page copy. Category: analysis | Cost: 10 sats | Endpoint: pricing-coach Parameters (pass as JSON string): main_competitor (string) (required): Your main competitor or similar product (optional, leave blank if none) product_description (string) (required): What your product does and its key features product_name (string) (required): The name of your product or service target_audience (string) (required): Who your customers are (e.g., 'startups', 'enterprise companies', 'individual creators') target_market_size (string) (required): How large is your addressable market (e.g., '10,000 potential customers')

Inputs: params. Returns: result

d3p_protocol_infoA

Get d3p protocol info: base URL, manifest URL, payment mode, service count.

Inputs: no named parameters. Returns: result

d3p_rate-limit-calcA

Calculate wait time and strategy for rate-limited API calls based on remaining quota and reset time. Category: data | Cost: 3 sats | Endpoint: rate-limit-calc Parameters (pass as JSON string): remaining (integer): Remaining API calls in current window reset_time (number): Unix timestamp when rate limit resets

Inputs: params. Returns: result

d3p_reputationC

Get the reputation score and breakdown for a d3p service. Parameters: service_id (str) — the service to check

Inputs: service_id (required). Returns: result

d3p_roast-my-ideaA

Submit your startup idea and receive a brutally honest one-paragraph roast. Detects common tropes (AI wrapper, Uber-for-X, token-for-everything) and delivers calibrated honesty. Cheaper than a bad cofounder. Category: text | Cost: 5 sats | Endpoint: roast-my-idea Parameters (pass as JSON string): idea (string) (required): Your startup idea to be roasted

Inputs: params. Returns: result

d3p_scope-cutterC

Breaks down product ideas into ruthless MVP scope, identifying what to cut and what to ship first. Category: analysis | Cost: 10 sats | Endpoint: scope-cutter Parameters (pass as JSON string): constraints (string) (required): Optional: timeline, budget, team size, or other constraints that affect scope product_description (string) (required): Full description of what you want to build, including features, goals, and target users

Inputs: params. Returns: result

d3p_seo-aeo-auditorB

Audits URLs for SEO and AI discoverability, analyzing meta tags, schema markup, and performance with letter grades across 6 categories. Category: analysis | Cost: 20 sats | Endpoint: seo-aeo-auditor Parameters (pass as JSON string): url (string) (required): The website URL to audit for SEO and AEO optimization

Inputs: params. Returns: result

d3p_ship-scannerB

Analyzes a product/service and provides monetization strategies, sales pitch, and distribution plan. Category: analysis | Cost: 10 sats | Endpoint: ship-scanner Parameters (pass as JSON string): product_description (string) (required): URL, description, or details about the product/service to analyze

Inputs: params. Returns: result

d3p_shitpostA

Generate platform-optimized shitposts on any topic with spice level rating. Category: text | Cost: 5 sats | Endpoint: shitpost Parameters (pass as JSON string): topic (string): Topic for the shitpost

Inputs: params. Returns: result

d3p_validate-schemaA

Validate a JSON payload against a schema definition. Returns validity status and error details. Category: code | Cost: 5 sats | Endpoint: validate-schema Parameters (pass as JSON string): payload (object): JSON payload to validate schema (object): Schema to validate against (with required array)

Inputs: params. Returns: result

d3p_vibe-checkB

Sentiment/vibe analysis of text. Returns a vibe score (1-10), energy classification, and analysis. Category: analysis | Cost: 10 sats | Endpoint: vibe-check Parameters (pass as JSON string): text (string) (required): Text to analyze for vibes

Inputs: params. Returns: result

d3p_weatherA

Current weather conditions for any location including temperature, humidity, wind, and feels-like. Category: oracle | Cost: 5 sats | Endpoint: weather Parameters (pass as JSON string): location (string): City name or location

Inputs: params. Returns: result

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    B3.1/5.0

    Scored across 34 tools

    Disambiguation4/5

    Most tools have distinct purposes, but there are a few overlaps: d3p_btc-price and d3p_bitcoin-price-in-gold-ounces both deal with Bitcoin price, and d3p_vibe-check and d3p_emoji-sentiment both analyze sentiment. The pipeline tools are distinct from the utility tools, but within the utility set, some boundaries are fuzzy.

    Naming Consistency2/5

    Tool names mix conventions: some use hyphens (d3p_ext-search-v2, d3p_btc-price), some use underscores (d3p_vibe_check? Actually it's d3p_vibe-check with hyphen, but also d3p_list_services with underscore), and verbs vary (list, discover, check, execute). There is no consistent verb_noun pattern, and the prefix 'd3p_' is the only unifying element.

    Tool Count3/5

    With 34 tools, the server feels slightly overloaded. The pipeline management tools (approx. 6) are well-scoped, but the remaining 28 utility tools range from essential (weather, search) to niche (cat-name-generator, roast-my-idea). The count is borderline heavy for a coherent set.

    Completeness3/5

    The pipeline and service discovery tools seem complete (execute, validate, status, result, templates, discover, compatibility, price quote). However, the utility tools are a random collection with no clear domain coverage; for example, there are multiple sentiment tools but no tool to update or delete services. Significant gaps in covering any specific domain.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      MCP server that exposes 300+ AI agents as tools via a single API key. Supports listing agents, invoking any agent with chat-completion style messages, checking agent health, and retrieving platform statistics.
      5
      4
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server for the Junction41 platform, providing 125 tools for agent lifecycle, jobs, workspace, payments, bounties, and more, enabling LLMs to interact with Junction41.
      7 npm
      MIT