Developer Reference

API Documentation

Use CraftedTrust to search the registry, read public trust data, and trigger scans before agents connect to MCP servers.

Trust scores, findings, and scan results are decision support, not guarantees. Use them to narrow risk faster, then apply your own operational controls and review standards.

Overview

CraftedTrust exposes one simple public developer surface: search the MCP registry, fetch public server trust data, and trigger public scans. Paid publisher steps such as Assisted Review and certification live on For Publishers, not in the public API pricing story.

SurfaceWhat it is for
Registry APISearch, stats, public server profiles, reports, and trust assets.
MCP interfaceLet agents check trust before they connect to a server.
Publisher workflowUse the public site for Free Scan, Assisted Review, Standard Certified, and Premium Certified.

Access model

Keep the public evaluator side simple:

AccessWhat is included
PublicRegistry search, public server profiles, reports, badge assets, public research, and docs.
Rate-limited publicPublic scans via POST /scan.
API keyHigher read volume and authenticated integrations.
Publisher checkoutAssisted Review and certification purchases through the publisher workflow.

Authentication

Most public read endpoints do not require authentication. If you need higher limits for product integrations, include an API key in the X-API-Key header.

curl -H "X-API-Key: your_api_key_here" \ https://mcp.craftedtrust.com/api/v1/stats

Rate limits

TierLimitWindow
Public scan5 scans per hour per IP1 hour
Public reads100 requests per hour per IP1 hour
API key1,000 requests per hour1 hour

Rate-limited responses return 429 Too Many Requests with a Retry-After header.

Base URL

https://mcp.craftedtrust.com/api/v1

MCP server interface

Add CraftedTrust as an MCP server so your agent can check trust before opening a new tool connection.

Claude Desktop

{ "mcpServers": { "craftedtrust": { "url": "https://mcp.craftedtrust.com/api/v1/mcp" } } }

Any Streamable HTTP MCP client

{ "mcpServers": { "craftedtrust": { "url": "https://mcp.craftedtrust.com/api/v1/mcp", "description": "Search and verify MCP servers before use" } } }

Available tools

ToolDescription
check_trustLook up a trust score, grade, findings summary, and certification state by URL or package name.
scan_serverTrigger a public scan and return current findings.
search_registrySearch the registry by name, URL, or publisher.
get_statsReturn high-level registry statistics.

Trust-gating pattern

The simplest safe pattern is: check trust first, then decide whether to connect.

# Step 1: Check the server before connecting result = call_tool("craftedtrust", "check_trust", { "server_url": "https://mcp.example.com/mcp" }) # Step 2: Refuse clearly risky servers if result["grade"] in ("D", "F"): return f"Refused: {result['url']} scored {result['grade']} ({result['score']}/100)" # Step 3: Continue with the MCP connection connect_to_server("https://mcp.example.com/mcp")
GET /api/v1/stats

Get ecosystem-wide statistics for indexed servers, certifications, and scan activity.

curl "https://mcp.craftedtrust.com/api/v1/stats"
GET /api/v1/server/:url

Get the public trust profile for a specific server.

curl "https://mcp.craftedtrust.com/api/v1/server/https%3A%2F%2Fmcp.example.com"
{ "url": "https://mcp.example.com", "name": "Example MCP Server", "trustScore": 82, "grade": "B", "trustSummary": "Well-documented server with clear transport and auth posture.", "publisherName": "Example Inc.", "certificationStatus": "standard", "lastScanned": "2026-04-08T14:00:00Z" }
GET /api/v1/server/:url/report

Get the current downloadable report or evidence summary for a server.

curl "https://mcp.craftedtrust.com/api/v1/server/https%3A%2F%2Fmcp.example.com/report"
GET /api/v1/server/:url/badge

Get a trust asset for embedding in docs, READMEs, or directories.

curl "https://mcp.craftedtrust.com/api/v1/server/https%3A%2F%2Fmcp.example.com/badge?style=compact"
POST /api/v1/scan

Trigger a public scan. This is the same free public scan that powers the publisher entry step.

curl -X POST https://mcp.craftedtrust.com/api/v1/scan \ -H "Content-Type: application/json" \ -d '{ "server_url": "https://mcp.example.com/mcp" }'
POST /api/v1/certify

Start a certification application for a publisher-managed server. Use For Publishers for the simplest self-serve path and current pricing.

curl -X POST https://mcp.craftedtrust.com/api/v1/certify \ -H "Content-Type: application/json" \ -d '{ "server_url": "https://mcp.example.com/mcp", "tier": "standard", "contact_email": "team@example.com" }'

Response codes

CodeMeaning
200Success.
400Bad request or invalid parameters.
401Missing or invalid API key.
404Server not found.
429Rate limit exceeded.
500Internal error.

Trust scoring

CraftedTrust scoring is meant to be easy to read in buyer workflows. Results are organized around explainable signals such as transport, authentication, declared behavior, risky tool patterns, documentation quality, and publisher verification evidence.

OutputMeaning
Trust scoreNumeric summary used to compare server posture over time.
GradeFast buyer-facing shorthand from A to F.
Certification statusnone, standard, or premium.
Findings summaryShort explanation of what most affected the result.
Last scannedRecency marker for public trust decisions.