The Service Marketing Guys Audit
Read-only audit of any local service business, Open Service Profile conformance first.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"audit": {
"url": "https://www.theservicemarketingguys.com/api/audit-mcp"
}
}
}リモートエンドポイント
https://www.theservicemarketingguys.com/api/audit-mcpstreamable-httpできること
ツール一覧
ツール(7)
🟢check_agent_readiness(url)
Check whether a local service business is legible to AI agents. Headline: Open Service Profile conformance (manifest at https://<host>/.well-known/open-service-profile validated against the spec, level claimed versus automated Level 1 checks, LocalBusiness and ScheduleAction JSON-LD on the home page). Secondary: the isitagentready.com signal, which degrades to unavailable when that service is down. Synchronous. Returns the final result, usually within about 30 seconds. Reuses a check from the last hour.
入力スキーマ
{
"type": "object",
"properties": {
"url": {
"type": "string",
"minLength": 3,
"maxLength": 2048,
"description": "Website URL, http or https. The scheme is optional."
}
},
"required": [
"url"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_site_speed(url)
Start a Google PageSpeed run (mobile and desktop) for a website. Free. For a running result, wait pollAfterSeconds, then call get_audit_report with runId. Repeat while status is running. Cached completed results need no polling.
入力スキーマ
{
"type": "object",
"properties": {
"url": {
"type": "string",
"minLength": 3,
"maxLength": 2048,
"description": "Website URL, http or https. The scheme is optional."
}
},
"required": [
"url"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_ai_visibility(businessName, city, state, trade, url)
Start an AI visibility check: does the business appear when AI assistants are asked for local providers in its city? It uses up to five prompts to the configured OpenAI model. Paid, drawn from a shared daily budget; when the budget is used up the result says quota_reached with the UTC reset time. For a running result, wait pollAfterSeconds, then call get_audit_report with runId. Repeat while status is running. Cached completed results need no polling.
入力スキーマ
{
"type": "object",
"properties": {
"businessName": {
"type": "string",
"minLength": 2,
"maxLength": 200,
"description": "Business name as it appears on Google."
},
"city": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"state": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "US state, two-letter code or full name."
},
"trade": {
"description": "Trade, for example hvac, plumbing, auto repair, marine. Optional; inferred when omitted.",
"type": "string",
"minLength": 1,
"maxLength": 80
},
"url": {
"type": "string",
"minLength": 3,
"maxLength": 2048,
"description": "Website URL, http or https. The scheme is optional."
}
},
"required": [
"businessName",
"city",
"state"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_local_rank(placeId, businessName, city, state, trade)
Start a Google Maps rank grid (49 points, 8 miles) for a business by Google Place id, or by business name and city. Paid, drawn from a shared daily budget; when the budget is used up the result says quota_reached with the UTC reset time. For a running result, wait pollAfterSeconds, then call get_audit_report with runId. Repeat while status is running. Cached completed results need no polling.
入力スキーマ
{
"type": "object",
"properties": {
"placeId": {
"type": "string",
"minLength": 1,
"maxLength": 300,
"description": "Google Place id, for example ChIJ...."
},
"businessName": {
"type": "string",
"minLength": 2,
"maxLength": 200,
"description": "Business name as it appears on Google."
},
"city": {
"description": "City, required with businessName when no placeId is given.",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"state": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "US state, two-letter code or full name."
},
"trade": {
"description": "Trade, for example hvac, plumbing, auto repair, marine. Optional; inferred when omitted.",
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢start_audit(url, businessName, city, state, placeId, ...)
Start the full visibility audit: site speed, agent readiness, and Open Service Profile conformance, plus the paid engines when their inputs are given. city enables AI visibility. placeId enables local rank. Provide businessName and state for accurate identification. If the paid budget cannot cover this request, nothing starts; use the individual free tools. For a running result, wait pollAfterSeconds, then call get_audit_report with runId. Repeat while status is running. Cached completed results need no polling.
入力スキーマ
{
"type": "object",
"properties": {
"url": {
"type": "string",
"minLength": 3,
"maxLength": 2048,
"description": "Website URL, http or https. The scheme is optional."
},
"businessName": {
"type": "string",
"minLength": 2,
"maxLength": 200,
"description": "Business name as it appears on Google."
},
"city": {
"description": "City. Needed for the AI visibility check.",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"state": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "US state, two-letter code or full name."
},
"placeId": {
"description": "Google Place id. Needed for the local rank grid.",
"type": "string",
"minLength": 1,
"maxLength": 300
},
"trade": {
"description": "Trade, for example hvac, plumbing, auto repair, marine. Optional; inferred when omitted.",
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"url"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_audit_report(runId)
Fetch the status and, when finished, the report for a runId returned by check_site_speed, check_ai_visibility, check_local_rank, or start_audit. For a running result, wait pollAfterSeconds, then call again with the same runId. Repeat while status is running.
入力スキーマ
{
"type": "object",
"properties": {
"runId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "The runId returned by an async tool."
}
},
"required": [
"runId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢explain_check(checkId)
Plain-language explanation of one check id: what it looks at, why it matters to a service business, and what to do. Explains osp-1 through osp-20 and agent-readiness check ids. Other engines' finding ids are not supported.
入力スキーマ
{
"type": "object",
"properties": {
"checkId": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "A check id from a result, for example osp-7 or discoverability.robotsTxt."
}
},
"required": [
"checkId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}コミュニティ
エビデンス