{"_id":"@connskill/mcp-growth-services","_rev":"3-39c16a9f58a098338e8c44c61ede2bab","name":"@connskill/mcp-growth-services","dist-tags":{"latest":"0.3.0"},"versions":{"0.2.0":{"name":"@connskill/mcp-growth-services","version":"0.2.0","keywords":["agents","ai-agents","connskill","gdpr","mcp","seo","serp","sms","trust","usdc","x402"],"license":"MIT","_id":"@connskill/mcp-growth-services@0.2.0","maintainers":[{"name":"connskill","email":"markus@connskill.de"}],"homepage":"https://agent.connskill.com","bugs":{"url":"https://github.com/CONN-SKILL/connskill-growth-mcp/issues"},"bin":{"connskill-growth-mcp":"index.mjs"},"dist":{"shasum":"71548892479e70d2ea2768615dbfb1b9c2d9919d","tarball":"https://registry.npmjs.org/@connskill/mcp-growth-services/-/mcp-growth-services-0.2.0.tgz","fileCount":8,"integrity":"sha512-Int6lUtuomfQ9oeYnD3HDxd3ALZK0DAYSfjURoXovrWrSmZxGAhowqghnY32ItBVsQnxERdVXyPSgIT7g4qQvQ==","signatures":[{"sig":"MEYCIQCtkVkFpAOKcvM20qz4xiqyjjLiQaMvOJweyrDM6IhBiQIhAO5I8mOehufbYn19kTGdOoFmrds+ZVsa758eeEilBBtN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23557},"type":"module","engines":{"node":">=18"},"gitHead":"bd8e879165383826a7510edbed38ae88d993fae0","mcpName":"io.github.conn-skill/connskill-growth-mcp","_npmUser":{"name":"connskill","email":"markus@connskill.de"},"repository":{"url":"git+https://github.com/CONN-SKILL/connskill-growth-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for CONNSKILL Growth Services — SEO/SERP data, SMS verification and social marketing for AI agents, paid per call via x402 (USDC on Base). Tools are generated live from the service's own discovery document.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"viem":"^2.55.0","x402-fetch":"^1.2.0","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-growth-services_0.2.0_1788434101254_0.4291173405477422","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@connskill/mcp-growth-services","version":"0.2.1","keywords":["agents","ai-agents","connskill","gdpr","mcp","seo","serp","sms","trust","usdc","x402"],"license":"MIT","_id":"@connskill/mcp-growth-services@0.2.1","maintainers":[{"name":"connskill","email":"markus@connskill.de"}],"homepage":"https://agent.connskill.com","bugs":{"url":"https://github.com/CONN-SKILL/connskill-growth-mcp/issues"},"bin":{"connskill-growth-mcp":"index.mjs"},"dist":{"shasum":"857d403a8bb31891bdd6786e553fee0fcbf51bd1","tarball":"https://registry.npmjs.org/@connskill/mcp-growth-services/-/mcp-growth-services-0.2.1.tgz","fileCount":8,"integrity":"sha512-AAR1Gd+WEK62pZRZr55ojMVrsrVKN5yDCpG9+XsH332GRmzOIbeoDyRn5hGPXHhUpAaXlYoKyPvHB4k6yGLBSA==","signatures":[{"sig":"MEUCIQDsu6KFg7wDggo6boUe3XBkOKwMN7shaDXMZWSAi9ngmwIgQ4km7zJB0TLNscovK0oYuYatPxtvj9wyOm5jryZaqcw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23557},"type":"module","engines":{"node":">=18"},"gitHead":"fa4cff1f1a6de1672831b26f892d1f462fad99b3","mcpName":"io.github.CONN-SKILL/connskill-growth-mcp","_npmUser":{"name":"connskill","email":"markus@connskill.de"},"repository":{"url":"git+https://github.com/CONN-SKILL/connskill-growth-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for CONNSKILL Growth Services — SEO/SERP data, SMS verification and social marketing for AI agents, paid per call via x402 (USDC on Base). Tools are generated live from the service's own discovery document.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"viem":"^2.55.0","x402-fetch":"^1.2.0","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-growth-services_0.2.1_1788434481811_0.9020379607653617","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"_id":"@connskill/mcp-growth-services@0.3.0","bin":{"connskill-growth-mcp":"index.mjs"},"bugs":{"url":"https://github.com/CONN-SKILL/connskill-growth-mcp/issues"},"dist":{"shasum":"fc9702c2e54fafd06d1c85b7e3a2a7f7ddc91bf7","tarball":"https://registry.npmjs.org/@connskill/mcp-growth-services/-/mcp-growth-services-0.3.0.tgz","fileCount":11,"integrity":"sha512-e2IOZukyOgXrSO+39tLRvYQ4QQL23n+o/fmB5jQwzVWdEwZX2npgaq/zYpdKVqKtNB08E13bnn8+pZ3r7DUN+Q==","signatures":[{"sig":"MEUCIQCvYG3GNBXI8i1+Wg1rdS+0x6d2KP9s2I3tchUcdHMe3wIgSIra74lk1IRpvnBMoRIXeLJb7WAhnridGJgz9CQTCUY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDngwgNaAPlMRVqxFHiWigoZ7zl68iIECC00sjnjBiNMAiBtuO/0DiKCU+y17VWWVNiJxtcOIa4wPLBGLOFPBXNtiQ=="}],"unpackedSize":80727},"name":"@connskill/mcp-growth-services","type":"module","_from":"file:/Users/markus/Backups/automaton-backup/marketplace-distribution-2026-09-18/connskill-mcp-growth-services-0.3.0.tgz","engines":{"node":">=22"},"license":"MIT","mcpName":"io.github.CONN-SKILL/connskill-growth-mcp","version":"0.3.0","_npmUser":{"name":"connskill","email":"markus@connskill.de"},"homepage":"https://agent.connskill.com","keywords":["agents","ai-agents","connskill","mcp","seo","serp","sms","trust","usdc","x402"],"_resolved":"/Users/markus/Backups/automaton-backup/marketplace-distribution-2026-09-18/connskill-mcp-growth-services-0.3.0.tgz","_integrity":"sha512-e2IOZukyOgXrSO+39tLRvYQ4QQL23n+o/fmB5jQwzVWdEwZX2npgaq/zYpdKVqKtNB08E13bnn8+pZ3r7DUN+Q==","repository":{"url":"git+https://github.com/CONN-SKILL/connskill-growth-mcp.git","type":"git"},"_npmVersion":"10.9.8","description":"Local market checks, domain rankings and keyword research for AI agents. One JSON result per approved x402 call in USDC on Base; tools generated from live discovery.","directories":{},"maintainers":[{"name":"connskill","email":"markus@connskill.de"}],"_nodeVersion":"22.23.2","dependencies":{"viem":"^2.55.0","@x402/evm":"2.17.0","@x402/core":"2.17.0","@x402/fetch":"2.17.0","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-growth-services_0.3.0_1789741938971_0.17539770979849467"}}},"time":{"created":"2026-09-03T11:15:01.051Z","modified":"2026-09-18T14:32:19.224Z","0.2.0":"2026-09-03T11:15:01.399Z","0.2.1":"2026-09-03T11:21:21.946Z","0.3.0":"2026-09-18T14:32:19.054Z"},"bugs":{"url":"https://github.com/CONN-SKILL/connskill-growth-mcp/issues"},"license":"MIT","homepage":"https://agent.connskill.com","keywords":["agents","ai-agents","connskill","mcp","seo","serp","sms","trust","usdc","x402"],"repository":{"url":"git+https://github.com/CONN-SKILL/connskill-growth-mcp.git","type":"git"},"description":"Local market checks, domain rankings and keyword research for AI agents. One JSON result per approved x402 call in USDC on Base; tools generated from live discovery.","maintainers":[{"name":"connskill","email":"markus@connskill.de"}],"readme":"# @connskill/mcp-growth-services\n\nTurn a local business question into one JSON report: Google search results, Maps\nlistings, observed competitor domains and optional own-domain presence. The\n**Local Market Check** combines these observations in one paid package call.\nYou can also start with a domain-ranking snapshot or selected keyword demand.\n\n| Result | Free recipe | Paid tool |\n|---|---|---|\n| Search + Maps for one term and location | [Local Market Check](https://agent.connskill.com/local-market-check) · [JSON recipe](https://agent.connskill.com/local-market-check.json) | `local_market_check` |\n| Keywords a domain ranks for | [Domain rankings](https://agent.connskill.com/domain-rankings) · [JSON recipe](https://agent.connskill.com/domain-rankings.json) | `ranked_keywords` |\n| Search volume and advertising competition for selected terms | [Keyword demand](https://agent.connskill.com/keyword-research) · [JSON recipe](https://agent.connskill.com/keyword-research.json) | `keyword_metrics` |\n\nThe recipes are free and do not authorize payment. Resolve location and language,\nread the current contract and quote, then approve the scope and total spending\nlimit before buying. Local Market Check returns JSON with `serpTop`, `maps`,\n`competitors`, optional `presence` and `tips`. Check `partial` and\n`unavailableSections`: missing data remains unknown. Tips are suggestions, not\nverified findings. The result is a sample, not a complete market analysis or a\nranking/revenue promise. Do not buy the component searches separately or retry\npayment after an unclear result.\n\nOther catalogue services include site audits, backlinks, SMS verification,\nreceive-only inboxes, LLM chat hosted in Germany and x402 seller checks.\n\nNo account, no API key. Paid calls use **USDC on Base via x402**. Free endpoints\n(quotes, catalogue, status, locations) need no wallet at all.\n\n## Source and published package\n\nVersion **0.3.0** introduces the v2 payment client and persistent purchase guards\ndescribed below. Earlier **0.2.1** installations use a different payment client;\ndo not assume these safeguards for that version. Check [npm latest](https://registry.npmjs.org/@connskill%2fmcp-growth-services/latest)\nand the [official MCP Registry](https://registry.modelcontextprotocol.io/v0.1/servers/io.github.CONN-SKILL%2Fconnskill-growth-mcp/versions/latest)\nbefore installing. An unversioned `npx` command selects npm's published release,\nnot necessarily the current GitHub source. Use [the source setup](#from-source)\nfor this checked-in version. GitHub, npm, Registry and Glama are separate release channels.\n\nThis repo provides three entry points:\n\n| Form | For | Install |\n|---|---|---|\n| **MCP server** (`index.mjs`) | Claude Code, Claude Desktop, Cursor, Codex, OpenClaw, Hermes, anything MCP | Published npm package; check its version, or use the source setup |\n| **Skill** (`skills/connskill-growth/`) | Claude Code, Codex, OpenClaw, Hermes (agentskills.io format) | copy the folder or install from this repo |\n| **Standalone script** (`skills/connskill-growth/scripts/x402-call.mjs`) | any agent that can run `node` | `node x402-call.mjs GET /v1/local-market-check-quote` (free) |\n\nTools are generated from the service's current [OpenAPI catalogue](https://agent.connskill.com/openapi.json)\nand [x402 prices](https://agent.connskill.com/.well-known/x402) when the MCP process first reads its catalogue.\nThe available tool set follows those documents; endpoints marked for exclusion and wallet-signature\noperations are kept out of this adapter. Restart the MCP process to load an updated catalogue.\n\n## Payment model\n\nThe following describes version 0.3.0 and does not apply to earlier 0.2.1 installations.\n\n- **Free endpoints** work with no wallet.\n- **Paid endpoints** need `X402_WALLET_KEY`, the private key of a Base wallet holding\n  USDC. The official x402 v2 packages sign an EIP-3009 authorization for the chosen\n  request. The client permits Base mainnet, official USDC and the configured merchant\n  only. It checks the complete resource URL and refuses redirects.\n  Without a key, paid MCP tools return a clear hint instead of sending a purchase.\n- **`X402_MAX_USD`** (default `1.00`) is an exact USDC decimal with up to six fractional\n  digits. Empty, negative, scientific and hexadecimal values are rejected. `0`\n  disables payment. This is a per-call authorization limit, not a daily budget.\n- Requests have a bounded duration and bounded JSON request/response sizes. A signed\n  request is sent at most once. A timeout after dispatch is an **unknown outcome**,\n  not proof that the merchant rejected payment.\n- An accepted background job (`202`) is recorded as **accepted**, with its purchase\n  and authenticated status URLs. It is not reported as a delivered result.\n- Payment attempts are persisted before dispatch. Repeating the same canonical request\n  does not create another payment by default. An intentional new purchase of an already\n  delivered request requires MCP argument `confirmNewPurchase: true` or CLI flag\n  `--new-purchase`. Neither option overrides an accepted or unclear purchase.\n- Keep the private state directory and its parent together. The parent contains a\n  bootstrap marker that detects a missing store. Damaged or incomplete state blocks\n  payment; it is never silently reset. A completely lost parent and marker cannot be\n  distinguished from first use by a new process. Do not delete them to retry a purchase.\n  Separate clients or containers must share the same persistent state to share this guard.\n\nMCP responses include payment state in `_meta[\"io.connskill/payment\"]`; uncertain\noutcomes also contain the purchase reference and `doNotPayAgain` in the text result.\nNo authorization signature or private key is saved in the attempt store. This client\nuses the purchase reference for support; it does not automatically replay a payment\nheader or sign a replacement to recover a response.\n\n⚠️ The key can spend real USDC. Use a **dedicated wallet** funded with only what the\nagent may spend. Never a main wallet.\n\n## Install\n\nThe 0.3.0 source requires Node.js 22 or newer. The lockfile includes runtime dependencies that require Node 22.\nThe `npx` examples below select the published npm release; verify its version first.\nTo run the checked-in source, use `node` and the absolute path to its `index.mjs`\nafter the source setup. Free discovery needs no wallet.\n\n### Claude Code\n\n```bash\nclaude mcp add connskill-growth -s user -e X402_WALLET_KEY=0x... -e X402_MAX_USD=0.50 -- npx -y @connskill/mcp-growth-services\n```\n\nOr install the GitHub plugin with its skill (a separate source route from npm; configure wallet credentials through your client):\n\n```bash\nclaude plugin marketplace add CONN-SKILL/connskill-growth-mcp\nclaude plugin install connskill-growth@connskill\n```\n\n### Codex\n\n```bash\ncodex mcp add connskill-growth --env X402_WALLET_KEY=0x... --env X402_MAX_USD=0.50 -- npx -y @connskill/mcp-growth-services\n```\n\nSkill only: copy the complete `skills/connskill-growth` folder to `~/.agents/skills/`. Its scripts share local modules; copying only `x402-call.mjs` is insufficient.\n\n### Cursor / Claude Desktop (`mcpServers`)\n\n```json\n{\n  \"mcpServers\": {\n    \"connskill-growth\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@connskill/mcp-growth-services\"],\n      \"env\": { \"X402_WALLET_KEY\": \"0x...\", \"X402_MAX_USD\": \"0.50\" }\n    }\n  }\n}\n```\n\n### OpenClaw\n\n```bash\nopenclaw mcp add connskill-growth --command npx --arg -y --arg @connskill/mcp-growth-services\n```\n\nSkill: copy `skills/connskill-growth` into `~/.agents/skills/` (or your workspace `skills/`)\nand set `X402_WALLET_KEY` under `skills.entries.connskill-growth.env` in `openclaw.json`.\n\n### Hermes (NousResearch hermes-agent)\n\n```bash\nhermes skills tap add CONN-SKILL/connskill-growth-mcp\nhermes skills install connskill-growth\n```\n\nOr MCP in `~/.hermes/config.yaml` under `mcp_servers:` with `command: npx`,\n`args: [-y, @connskill/mcp-growth-services]`, `env: {X402_WALLET_KEY: ...}`.\n\n### From source\n\n```bash\ngit clone https://github.com/CONN-SKILL/connskill-growth-mcp\ncd connskill-growth-mcp\nnpm ci\nnode index.mjs            # MCP over stdio\nnode test-smoke.mjs       # lists tools, calls a free endpoint, checks the paid guard (never spends)\n```\n\n### Container from source\n\nBuild from this directory using the checked-in lockfile and pinned official Node image:\n\n```bash\ndocker build --tag connskill-growth-mcp:local .\ndocker run --rm -i connskill-growth-mcp:local\n```\n\nThe container runs as the unprivileged `node` user and communicates over STDIO.\nKeep stdin open (`-i`); no port is exposed. Free endpoints work without a wallet.\nFor paid use, keep the parent directory in a named volume and supply the wallet\nthrough the runtime environment:\n\n```bash\ndocker run --rm -i \\\n  --mount type=volume,src=connskill-growth-state,dst=/home/node/.local/state \\\n  --env X402_WALLET_KEY --env X402_MAX_USD=0.50 \\\n  connskill-growth-mcp:local\n```\n\nReusing the same volume preserves attempts across container replacement. An ephemeral\ncontainer filesystem cannot provide that guarantee. Supply settings at runtime only. The build context contains\nonly the explicitly allowed package files; it excludes credentials and local dependencies.\n\nThe local container candidate is separate from a published Glama release. Glama\nrequires a successful build test and publication through its existing maintainer interface.\n\nThe copied standalone skill needs only Node for unsigned calls. For paid calls,\ninstall the locked package dependencies from this source tree, or install\n`@x402/fetch@2.17.0`, `@x402/core@2.17.0`, `@x402/evm@2.17.0` and `viem` in a parent\npackage directory where Node can resolve them. SDK imports are lazy; no wallet or\npayment store is required for free discovery.\n\n## Environment\n\n| Var | Default | Meaning |\n|---|---|---|\n| `X402_ORIGIN` | `https://agent.connskill.com` | Bare HTTPS origin; no credentials, path, query or fragment |\n| `X402_WALLET_KEY` | – | Base private key holding USDC (enables paid calls) |\n| `X402_MAX_USD` | `1.00` | Exact USDC limit per paid call, at most six decimal places |\n| `X402_PAY_TO` | CONNSKILL merchant for the default origin | Expected Base recipient; must be explicitly configured for a custom origin |\n| `X402_STATE_DIR` | `~/.local/state/connskill-mcp` | Absolute path to the private attempt store; preserve its parent and marker |\n\n## What it sells (excerpt)\n\nCurrent amounts and tiers are listed in the [x402 discovery document](https://agent.connskill.com/.well-known/x402).\nThe actual payment challenge binds the amount for the chosen request.\n\n- `GET /v1/local-market-check-quote` (free), then one approved `POST /v1/local-market-check`\n- `POST /v1/ranked-keywords`\n- `POST /v1/keyword-ideas`\n- `POST /v1/keyword-metrics` (the linked entry recipe limits the task to 1–10 selected keywords; read the live schema for API limits)\n- `POST /v1/keyword-metrics-multi` (up to 30 locations, one payment)\n- `POST /v1/serp-report` (organic + AI overview, PAA, featured snippet)\n- `POST /v1/site-audit` (Labs + backlinks + real on-page crawl)\n- `POST /v1/trust-check` (vet an x402 seller: live 402, inflow, self-dealing)\n- `POST /sms/v1/sms-order` (quote first, free)\n- `POST /mail/v1/mail-inbox` (7-day receive-only inbox)\n- `POST /ai/v1/eu-chat` (hosted in Germany, tool use)\n\nSomething missing? `POST /v1/wishlist` is free and read by humans.\n\n## License\n\nMIT. Built by CONNSKILL GmbH & Co. KG, Traunstein, Germany.\n","readmeFilename":"README.md"}