Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,530Letters: 13Defects: 1,322counted 4 min ago
teppi

Server definition

Hash
sha256:6d189fbf4fac2a1e4044c30c0f00efeffc03ce2f24448b76388577ab8ae437f6
What it is
What a remote MCP server returned when asked what it offers: 10 tools

The blob, as servednamed by its sha256

{ "instructions": "Sign in at https://crawdar.com/account to create an API key. Keys share 25 free fresh searches daily; cached results and polling are free. At most two fresh searches run concurrently. Use start_lead_search for queued work, poll the same job, and honor Retry-After rather than launching duplicate searches. Save lists at https://crawdar.com/lists. Use sandbox_businesses to test your integration for free. Use research_businesses for a quick qualified-prospect brief. Use start_lead_search then get_lead_search for progress, cursor pagination, refinement, and export. Read prospectStatus, criteria, whyMatch, and contactRoute before acting. Compact results expose sourceUrls; full REST and sandbox results retain evidence[].url. If a job returns retryable true, call retry_lead_search. Keep jobToken private and inspect diagnostics before treating zero results as exhaustive.", "tools": [ { "description": "Cancel a queued or running search job. Completed and failed jobs remain immutable.", "inputSchema": { "additionalProperties": false, "properties": { "id": { "description": "Queued or running job id.", "maxLength": 36, "minLength": 36, "type": "string" }, "jobToken": { "description": "Private token belonging to the job.", "maxLength": 100, "minLength": 20, "type": "string" } }, "required": [ "id", "jobToken" ], "type": "object" }, "name": "cancel_lead_search", "outputSchema": { "additionalProperties": true, "properties": { "canceledAt": { "type": "string" }, "id": { "type": "string" }, "status": { "enum": [ "canceled" ] } }, "required": [ "id", "status" ], "type": "object" } }, { "description": "Get result semantics, limits, interface URLs, and safe operating guidance. This tool does not consume a search.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "explain_crawdar", "outputSchema": { "additionalProperties": false, "properties": { "guidance": { "items": { "type": "string" }, "type": "array" }, "interfaces": { "additionalProperties": { "type": "string" }, "type": "object" }, "resultLanes": { "additionalProperties": { "type": "string" }, "type": "object" } }, "required": [ "resultLanes", "guidance", "interfaces" ], "type": "object" } }, { "description": "Read job status or one cursor-paginated result page. Keep jobToken private and pass nextCursor back unchanged.", "inputSchema": { "additionalProperties": false, "properties": { "cursor": { "description": "Opaque nextCursor from the previous response.", "type": "string" }, "id": { "description": "Job id returned by start_lead_search, refine_lead_search, or retry_lead_search.", "maxLength": 36, "minLength": 36, "type": "string" }, "jobToken": { "description": "Private token returned with the job. Do not log or share it.", "maxLength": 100, "minLength": 20, "type": "string" }, "limit": { "default": 10, "description": "Maximum prospects in this result page.", "maximum": 50, "minimum": 1, "type": "integer" }, "view": { "default": "compact", "description": "Compact minimizes tokens. Full retains detailed evidence fields.", "enum": [ "compact", "full" ] } }, "required": [ "id", "jobToken" ], "type": "object" }, "name": "get_lead_search", "outputSchema": { "additionalProperties": true, "properties": { "completedAt": { "type": [ "string", "null" ] }, "createdAt": { "type": "string" }, "diagnostics": { "additionalProperties": true, "type": "object" }, "error": { "type": "string" }, "errorCode": { "type": "string" }, "id": { "type": "string" }, "nextCursor": { "type": [ "string", "null" ] }, "progress": { "additionalProperties": true, "type": "object" }, "resultCount": { "type": "integer" }, "results": { "items": { "additionalProperties": true, "properties": { "city": { "type": "string" }, "confidence": { "type": "number" }, "contactRoute": { "additionalProperties": true, "type": "object" }, "criteria": { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "email": { "type": "string" }, "entityConfidence": { "type": "number" }, "evidence": { "items": { "additionalProperties": true, "properties": { "kind": { "type": "string" }, "label": { "type": "string" }, "url": { "type": "string" } }, "type": "object" }, "type": "array" }, "evidenceQuality": { "enum": [ "strong", "moderate", "weak" ] }, "fitStatus": { "enum": [ "verified", "likely" ] }, "name": { "type": "string" }, "phone": { "type": "string" }, "prospectStatus": { "enum": [ "qualified", "possible" ] }, "qualificationChecks": { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "qualificationConfidence": { "type": "number" }, "sourceUrls": { "items": { "type": "string" }, "type": "array" }, "website": { "type": "string" }, "websiteUrl": { "type": "string" }, "whyMatch": { "items": { "type": "string" }, "type": "array" } }, "required": [ "name", "prospectStatus", "whyMatch", "criteria", "contactRoute" ], "type": "object" }, "type": "array" }, "retryAfter": { "type": "integer" }, "returned": { "type": "integer" }, "searchedSources": { "items": { "type": "string" }, "type": "array" }, "status": { "enum": [ "queued", "running", "completed", "failed", "canceled" ] }, "warnings": { "items": { "type": "string" }, "type": "array" } }, "required": [ "id", "status" ], "type": "object" } }, { "description": "Create a new private search job by changing the brief or criteria of a completed job. The original job stays unchanged.", "inputSchema": { "additionalProperties": false, "properties": { "brief": { "description": "Replacement natural-language brief for the new job.", "maxLength": 500, "minLength": 8, "type": "string" }, "fields": { "description": "Business fields to retain. Website and source evidence remain available for verification.", "items": { "enum": [ "Website", "Business email", "Phone", "Location", "Owner type", "Description", "Source links" ] }, "type": "array" }, "geography": { "description": "Replacement city, region, country, or Worldwide.", "maxLength": 140, "minLength": 2, "type": "string" }, "id": { "description": "Completed source job id returned by an earlier durable search call.", "maxLength": 36, "minLength": 36, "type": "string" }, "jobToken": { "description": "Private token belonging to the source job.", "maxLength": 100, "minLength": 20, "type": "string" }, "limit": { "description": "Maximum prospects retained by the new job.", "maximum": 50, "minimum": 1, "type": "integer" }, "qualifier": { "description": "Replacement public requirements and exclusions.", "maxLength": 900, "type": "string" }, "target": { "description": "Replacement business target for the new job.", "maxLength": 220, "minLength": 3, "type": "string" } }, "required": [ "id", "jobToken" ], "type": "object" }, "name": "refine_lead_search", "outputSchema": { "additionalProperties": true, "properties": { "cacheHit": { "type": "boolean" }, "cancelUrl": { "description": "Authenticated REST URL for canceling queued or running work.", "type": "string" }, "expiresInSeconds": { "description": "Seconds until the private job and token expire.", "type": "integer" }, "exportUrl": { "description": "Authenticated CSV export URL. Add format=json for JSON.", "type": "string" }, "id": { "description": "Stable job identifier. Use it with jobToken in every lifecycle call.", "type": "string" }, "jobToken": { "description": "Private bearer token required to read, refine, or export this job.", "type": "string" }, "resultCount": { "type": "integer" }, "retryUrl": { "description": "Authenticated REST URL for creating a replacement after retryable failure.", "type": "string" }, "status": { "description": "Current durable job state.", "enum": [ "queued", "running", "completed", "failed", "canceled" ] }, "statusUrl": { "description": "Authenticated REST URL for job status and result pages.", "type": "string" } }, "required": [ "id", "status", "statusUrl", "exportUrl", "retryUrl", "cancelUrl", "expiresInSeconds" ], "type": "object" } }, { "description": "Use for a quick synchronous search when the user supplies one natural-language brief and can wait for results in the current tool call. For durable progress, retry, export, or large agent workflows, use start_lead_search instead.", "inputSchema": { "additionalProperties": false, "properties": { "brief": { "description": "Example: Independent veterinary clinics in Berlin with an active first-party website. Exclude directories and chains.", "maxLength": 1200, "minLength": 8, "type": "string" }, "fields": { "description": "Business fields to retain. Website and source evidence remain available for verification.", "items": { "enum": [ "Website", "Business email", "Phone", "Location", "Owner type", "Description", "Source links" ] }, "type": "array" }, "geography": { "description": "Optional explicit geography. Use when the brief does not make location clear.", "maxLength": 140, "minLength": 2, "type": "string" }, "includeDiagnostics": { "default": true, "description": "Include source status and explained exclusions.", "type": "boolean" }, "limit": { "default": 10, "description": "Maximum businesses in this response page.", "maximum": 50, "minimum": 1, "type": "integer" }, "offset": { "default": 0, "description": "Zero-based result offset for this response page.", "minimum": 0, "type": "integer" }, "output": { "default": "compact", "description": "Compact minimizes tokens. Full preserves every returned field.", "enum": [ "compact", "full" ] } }, "required": [ "brief" ], "type": "object" }, "name": "research_businesses", "outputSchema": { "additionalProperties": true, "properties": { "diagnostics": { "additionalProperties": true, "description": "Source status and explained candidate exclusions.", "type": "object" }, "durationMs": { "type": "integer" }, "hasMore": { "description": "Whether another result page is available.", "type": "boolean" }, "limit": { "description": "Maximum prospects requested for this page.", "type": "integer" }, "nextOffset": { "description": "Offset for the next synchronous result page, or null when complete.", "type": [ "integer", "null" ] }, "offset": { "description": "Zero-based offset of this page.", "type": "integer" }, "remainingFreeSearches": { "type": "integer" }, "requestId": { "description": "Request identifier for support and diagnostics.", "type": "string" }, "resultCount": { "description": "Total accepted prospects before response pagination.", "type": "integer" }, "results": { "items": { "additionalProperties": true, "properties": { "city": { "type": "string" }, "confidence": { "type": "number" }, "contactRoute": { "additionalProperties": true, "type": "object" }, "criteria": { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "email": { "type": "string" }, "entityConfidence": { "type": "number" }, "evidence": { "items": { "additionalProperties": true, "properties": { "kind": { "type": "string" }, "label": { "type": "string" }, "url": { "type": "string" } }, "type": "object" }, "type": "array" }, "evidenceQuality": { "enum": [ "strong", "moderate", "weak" ] }, "fitStatus": { "enum": [ "verified", "likely" ] }, "name": { "type": "string" }, "phone": { "type": "string" }, "prospectStatus": { "enum": [ "qualified", "possible" ] }, "qualificationChecks": { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "qualificationConfidence": { "type": "number" }, "sourceUrls": { "items": { "type": "string" }, "type": "array" }, "website": { "type": "string" }, "websiteUrl": { "type": "string" }, "whyMatch": { "items": { "type": "string" }, "type": "array" } }, "required": [ "name", "prospectStatus", "whyMatch", "criteria", "contactRoute" ], "type": "object" }, "type": "array" }, "returnedCount": { "description": "Prospects returned in this response page.", "type": "integer" }, "schemaVersion": { "description": "Version of the result contract.", "type": "string" }, "searchedSources": { "description": "Discovery and first-party source types consulted.", "items": { "type": "string" }, "type": "array" }, "warnings": { "description": "Limitations the agent should retain with downstream data.", "items": { "type": "string" }, "type": "array" } }, "required": [ "schemaVersion", "requestId", "resultCount", "returnedCount", "offset", "limit", "hasMore", "results", "searchedSources", "warnings" ], "type": "object" } }, { "description": "Create a replacement job when a prior job failed or exceeded its execution window. The original job stays available for audit.", "inputSchema": { "additionalProperties": false, "properties": { "id": { "description": "Failed or timed-out source job id.", "maxLength": 36, "minLength": 36, "type": "string" }, "jobToken": { "description": "Private token belonging to the source job.", "maxLength": 100, "minLength": 20, "type": "string" } }, "required": [ "id", "jobToken" ], "type": "object" }, "name": "retry_lead_search", "outputSchema": { "additionalProperties": true, "properties": { "cacheHit": { "type": "boolean" }, "cancelUrl": { "description": "Authenticated REST URL for canceling queued or running work.", "type": "string" }, "expiresInSeconds": { "description": "Seconds until the private job and token expire.", "type": "integer" }, "exportUrl": { "description": "Authenticated CSV export URL. Add format=json for JSON.", "type": "string" }, "id": { "description": "Stable job identifier. Use it with jobToken in every lifecycle call.", "type": "string" }, "jobToken": { "description": "Private bearer token required to read, refine, or export this job.", "type": "string" }, "resultCount": { "type": "integer" }, "retryUrl": { "description": "Authenticated REST URL for creating a replacement after retryable failure.", "type": "string" }, "status": { "description": "Current durable job state.", "enum": [ "queued", "running", "completed", "failed", "canceled" ] }, "statusUrl": { "description": "Authenticated REST URL for job status and result pages.", "type": "string" } }, "required": [ "id", "status", "statusUrl", "exportUrl", "retryUrl", "cancelUrl", "expiresInSeconds" ], "type": "object" } }, { "description": "Return deterministic fictional businesses without consuming provider capacity. Use this to test schemas, clients, and agent loops.", "inputSchema": { "additionalProperties": false, "properties": { "geography": { "description": "Fictional location echoed into deterministic test results.", "maxLength": 140, "minLength": 2, "type": "string" }, "target": { "description": "Fictional business type echoed into deterministic test results.", "maxLength": 220, "minLength": 3, "type": "string" } }, "type": "object" }, "name": "sandbox_businesses", "outputSchema": { "additionalProperties": true, "properties": { "diagnostics": { "additionalProperties": true, "description": "Source status and explained candidate exclusions.", "type": "object" }, "durationMs": { "type": "integer" }, "hasMore": { "description": "Whether another result page is available.", "type": "boolean" }, "limit": { "description": "Maximum prospects requested for this page.", "type": "integer" }, "nextOffset": { "description": "Offset for the next synchronous result page, or null when complete.", "type": [ "integer", "null" ] }, "offset": { "description": "Zero-based offset of this page.", "type": "integer" }, "remainingFreeSearches": { "type": "integer" }, "requestId": { "description": "Request identifier for support and diagnostics.", "type": "string" }, "resultCount": { "description": "Total accepted prospects before response pagination.", "type": "integer" }, "results": { "items": { "additionalProperties": true, "properties": { "city": { "type": "string" }, "confidence": { "type": "number" }, "contactRoute": { "additionalProperties": true, "type": "object" }, "criteria": { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "email": { "type": "string" }, "entityConfidence": { "type": "number" }, "evidence": { "items": { "additionalProperties": true, "properties": { "kind": { "type": "string" }, "label": { "type": "string" }, "url": { "type": "string" } }, "type": "object" }, "type": "array" }, "evidenceQuality": { "enum": [ "strong", "moderate", "weak" ] }, "fitStatus": { "enum": [ "verified", "likely" ] }, "name": { "type": "string" }, "phone": { "type": "string" }, "prospectStatus": { "enum": [ "qualified", "possible" ] }, "qualificationChecks": { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "qualificationConfidence": { "type": "number" }, "sourceUrls": { "items": { "type": "string" }, "type": "array" }, "website": { "type": "string" }, "websiteUrl": { "type": "string" }, "whyMatch": { "items": { "type": "string" }, "type": "array" } }, "required": [ "name", "prospectStatus", "whyMatch", "criteria", "contactRoute" ], "type": "object" }, "type": "array" }, "returnedCount": { "description": "Prospects returned in this response page.", "type": "integer" }, "schemaVersion": { "description": "Version of the result contract.", "type": "string" }, "searchedSources": { "description": "Discovery and first-party source types consulted.", "items": { "type": "string" }, "type": "array" }, "warnings": { "description": "Limitations the agent should retain with downstream data.", "items": { "type": "string" }, "type": "array" } }, "required": [ "schemaVersion", "requestId", "resultCount", "returnedCount", "offset", "limit", "hasMore", "results", "searchedSources", "warnings" ], "type": "object" } }, { "description": "Scan a named business or discover up to three businesses for recent recurring complaints. Returns individually sourced reviews and possible technical solutions. Coverage is sampled; unavailable reviews never mean no problems. Five scans per day. Google reviews require a configured provider.", "inputSchema": { "additionalProperties": false, "properties": { "business": { "type": "string" }, "geography": { "type": "string" }, "googlePlaceId": { "type": "string" }, "reviewUrls": { "items": { "type": "string" }, "maxItems": 3, "type": "array" }, "target": { "type": "string" }, "website": { "type": "string" } }, "type": "object" }, "name": "scan_review_pain_points", "outputSchema": { "additionalProperties": true, "properties": { "id": { "type": "string" }, "limitations": { "type": "string" }, "reports": { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "status": { "type": "string" } }, "type": "object" } }, { "description": "Use for a quick synchronous search when target, geography, and qualification fields are already structured. Use research_businesses for a plain-language brief, or start_lead_search for durable asynchronous work.", "inputSchema": { "additionalProperties": false, "properties": { "fields": { "description": "Business fields to retain. Website and source evidence remain available for verification.", "items": { "enum": [ "Website", "Business email", "Phone", "Location", "Owner type", "Description", "Source links" ] }, "type": "array" }, "geography": { "description": "City, region, country, or Worldwide.", "maxLength": 140, "minLength": 2, "type": "string" }, "includeDiagnostics": { "default": true, "description": "Include source status and explained exclusions.", "type": "boolean" }, "limit": { "default": 10, "description": "Maximum businesses in this response page.", "maximum": 50, "minimum": 1, "type": "integer" }, "offset": { "default": 0, "description": "Zero-based result offset for this response page.", "minimum": 0, "type": "integer" }, "output": { "default": "compact", "description": "Compact minimizes tokens. Full preserves every returned field.", "enum": [ "compact", "full" ] }, "qualifier": { "description": "Optional required signals and exclusions that can be checked in public evidence.", "maxLength": 900, "type": "string" }, "target": { "description": "Business type or concise target.", "maxLength": 220, "minLength": 3, "type": "string" } }, "required": [ "target", "geography" ], "type": "object" }, "name": "search_businesses", "outputSchema": { "additionalProperties": true, "properties": { "diagnostics": { "additionalProperties": true, "description": "Source status and explained candidate exclusions.", "type": "object" }, "durationMs": { "type": "integer" }, "hasMore": { "description": "Whether another result page is available.", "type": "boolean" }, "limit": { "description": "Maximum prospects requested for this page.", "type": "integer" }, "nextOffset": { "description": "Offset for the next synchronous result page, or null when complete.", "type": [ "integer", "null" ] }, "offset": { "description": "Zero-based offset of this page.", "type": "integer" }, "remainingFreeSearches": { "type": "integer" }, "requestId": { "description": "Request identifier for support and diagnostics.", "type": "string" }, "resultCount": { "description": "Total accepted prospects before response pagination.", "type": "integer" }, "results": { "items": { "additionalProperties": true, "properties": { "city": { "type": "string" }, "confidence": { "type": "number" }, "contactRoute": { "additionalProperties": true, "type": "object" }, "criteria": { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "email": { "type": "string" }, "entityConfidence": { "type": "number" }, "evidence": { "items": { "additionalProperties": true, "properties": { "kind": { "type": "string" }, "label": { "type": "string" }, "url": { "type": "string" } }, "type": "object" }, "type": "array" }, "evidenceQuality": { "enum": [ "strong", "moderate", "weak" ] }, "fitStatus": { "enum": [ "verified", "likely" ] }, "name": { "type": "string" }, "phone": { "type": "string" }, "prospectStatus": { "enum": [ "qualified", "possible" ] }, "qualificationChecks": { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "qualificationConfidence": { "type": "number" }, "sourceUrls": { "items": { "type": "string" }, "type": "array" }, "website": { "type": "string" }, "websiteUrl": { "type": "string" }, "whyMatch": { "items": { "type": "string" }, "type": "array" } }, "required": [ "name", "prospectStatus", "whyMatch", "criteria", "contactRoute" ], "type": "object" }, "type": "array" }, "returnedCount": { "description": "Prospects returned in this response page.", "type": "integer" }, "schemaVersion": { "description": "Version of the result contract.", "type": "string" }, "searchedSources": { "description": "Discovery and first-party source types consulted.", "items": { "type": "string" }, "type": "array" }, "warnings": { "description": "Limitations the agent should retain with downstream data.", "items": { "type": "string" }, "type": "array" } }, "required": [ "schemaVersion", "requestId", "resultCount", "returnedCount", "offset", "limit", "hasMore", "results", "searchedSources", "warnings" ], "type": "object" } }, { "description": "Use for the recommended durable asynchronous workflow. Creates a private queued search job and returns a job id plus jobToken for progress polling, cursor paging, refinement, retry, cancellation, and CSV or JSON export.", "inputSchema": { "additionalProperties": false, "anyOf": [ { "required": [ "brief" ] }, { "required": [ "target", "geography" ] } ], "properties": { "brief": { "description": "Natural-language business, geography, required signals, and exclusions. Use this instead of separate target and geography.", "maxLength": 500, "minLength": 8, "type": "string" }, "fields": { "description": "Business fields to retain. Website and source evidence remain available for verification.", "items": { "enum": [ "Website", "Business email", "Phone", "Location", "Owner type", "Description", "Source links" ] }, "type": "array" }, "geography": { "description": "City, region, country, or Worldwide. Required with target when brief is omitted.", "maxLength": 140, "minLength": 2, "type": "string" }, "idempotencyKey": { "description": "Stable key for safely retrying the same job creation request.", "maxLength": 128, "minLength": 8, "type": "string" }, "limit": { "default": 50, "description": "Maximum accepted prospects retained by the job.", "maximum": 50, "minimum": 1, "type": "integer" }, "qualifier": { "description": "Publicly verifiable requirements and exclusions.", "maxLength": 900, "type": "string" }, "target": { "description": "Business type or concise ideal-customer target. Pair with geography when brief is omitted.", "maxLength": 220, "minLength": 3, "type": "string" } }, "type": "object" }, "name": "start_lead_search", "outputSchema": { "additionalProperties": true, "properties": { "cacheHit": { "type": "boolean" }, "cancelUrl": { "description": "Authenticated REST URL for canceling queued or running work.", "type": "string" }, "expiresInSeconds": { "description": "Seconds until the private job and token expire.", "type": "integer" }, "exportUrl": { "description": "Authenticated CSV export URL. Add format=json for JSON.", "type": "string" }, "id": { "description": "Stable job identifier. Use it with jobToken in every lifecycle call.", "type": "string" }, "jobToken": { "description": "Private bearer token required to read, refine, or export this job.", "type": "string" }, "resultCount": { "type": "integer" }, "retryUrl": { "description": "Authenticated REST URL for creating a replacement after retryable failure.", "type": "string" }, "status": { "description": "Current durable job state.", "enum": [ "queued", "running", "completed", "failed", "canceled" ] }, "statusUrl": { "description": "Authenticated REST URL for job status and result pages.", "type": "string" } }, "required": [ "id", "status", "statusUrl", "exportUrl", "retryUrl", "cancelUrl", "expiresInSeconds" ], "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:6d189fbf4fac2a1e4044c30c0f00efeffc03ce2f24448b76388577ab8ae437f6 | sha256sum