nostrband avatar

Servicegraph

nostrband/servicegraph

Connects Claude to ServiceGraph's business datasets: agencies, product directories, newsletters, and business directories, all filterable by metrics like domain rating, traffic, size, and location. The generic `servicegraph` skill discovers schemas and searches across any dataset, while specialized skills like `find-marketing-agency` or `find-web-developer` auto-pin filters for US professional services firms. Free browsing and brief cards, credits unlock full contact details and enrichment. Runs on streamable HTTP at mcp.servicegraph.co. You'd reach for this when prospecting launch venues, building outreach lists, or researching service providers without manually scraping directories. Requires an API key from servicegraph.co with 2,000 free credits on signup.

GitHub stars
82
tools
6
transport
HTTP
last updated
May 25, 2026

Tools

6 tools

Public tool metadata for what this MCP can expose to an agent.

list_tagsReturns the catalog of fields, kinds, operators, and (optionally) value lists that the filter DSL accepts. Call this once per session to discover what you can query. Use include_values=true to expand the value list for every field; pass q to filter by name/description substring.2 params

Returns the catalog of fields, kinds, operators, and (optionally) value lists that the filter DSL accepts. Call this once per session to discover what you can query. Use include_values=true to expand the value list for every field; pass q to filter by name/description substring.

Parameters* required
include_valuesboolean
Expand the legal value list for every field (slower).
qstring
Substring filter on field name or description.
check_filterValidates a filter DSL string without executing it. Returns {valid, normalized, tables_used, param_count} on success or {valid:false, error:{code,message,position}} on parse error. Cheap; use it before search_firms / explore_firms to sanity-check generated filters.1 params

Validates a filter DSL string without executing it. Returns {valid, normalized, tables_used, param_count} on success or {valid:false, error:{code,message,position}} on parse error. Cheap; use it before search_firms / explore_firms to sanity-check generated filters.

Parameters* required
filterstring
DSL filter string, e.g. "industry:legal state:CA"
explore_firmsCounts and per-facet breakdowns for the catalog under a filter. Use this BEFORE search_firms to size the query and choose narrowing facets. Does not return any individual firms and does not consume monthly quota. When the filtered set has fewer than 20 firms, breakdowns are su...1 params

Counts and per-facet breakdowns for the catalog under a filter. Use this BEFORE search_firms to size the query and choose narrowing facets. Does not return any individual firms and does not consume monthly quota. When the filtered set has fewer than 20 firms, breakdowns are su...

Parameters* required
filterstring
Filter DSL string. Empty = whole catalog.
search_firmsReturns brief firm cards under a filter DSL. Costs against the calling user's monthly unique-firm-view quota; re-pages and overlapping queries are free for the overlap. Brief cards do NOT include apex, url, phone, email, or address — call get_firm with the firm_id from a searc...4 params

Returns brief firm cards under a filter DSL. Costs against the calling user's monthly unique-firm-view quota; re-pages and overlapping queries are free for the overlap. Brief cards do NOT include apex, url, phone, email, or address — call get_firm with the firm_id from a searc...

Parameters* required
filterstring
Filter DSL string. Required.
limitinteger
Max number of brief cards to return.default: 20
offsetinteger
default: 0
order_bystring
one of relevance · facet_confidence · randomdefault: relevance
get_firmReturns the full disclosure bundle (apex, url, phone, email, social, legal name, address) for a single firm by firm_id. firm_id is sha256(apex.lower().rstrip(".")).hexdigest()[:12]. Costs 1 against the monthly /get quota the first time a firm is fetched in a calendar month; re...1 params

Returns the full disclosure bundle (apex, url, phone, email, social, legal name, address) for a single firm by firm_id. firm_id is sha256(apex.lower().rstrip(".")).hexdigest()[:12]. Costs 1 against the monthly /get quota the first time a firm is fetched in a calendar month; re...

Parameters* required
firm_idstring
12 lowercase-hex firm_id from a search result.
catalog_statsTop-level catalog statistics — total firm count, per-industry breakdowns, coverage percentages for facets and contact info. Use this for "what's in the catalog overall" rather than to find specific firms.

Top-level catalog statistics — total firm count, per-industry breakdowns, coverage percentages for facets and contact info. Use this for "what's in the catalog overall" rather than to find specific firms.

No parameter schema in public metadata yet.

Sponsors

Readme

ServiceGraph

ServiceGraph Agent Skills

Datasets for founders — where to launch, who to email, who to hire.

Agent Skills for ServiceGraph — structured, metrics-enriched business datasets your agent can filter, rank, and pull contact data from. One filter DSL, one credit balance, many datasets:

ServiceGraph datasets — product directories, business directories, newsletters, agencies, with subreddits and influencers coming soon

DatasetSizeEnriched with
Agencies (US professional-services firms)110k+services · size · location · ratings
Business directories3,500+industry · domain rating · traffic
Product directories850+submission policy · domain rating · traffic
Newsletters50k+subscribers · topics · post cadence
subreddits, influencerscoming soon

View the full README on GitHub

Details

Repository
github.com/nostrband/servicegraph
Website
servicegraph.co
Transport
HTTP
Registry
MCP registry, active