cogny cliseofirst 15 calls free
semrush scriptable from Bash.
Query the Semrush Analytics API for domain overviews, organic and paid keywords, organic competitors, backlinks and keyword ideas — from the shell. The CLI parses Semrush CSV into clean JSON rows over the Semrush MCP.
- 1. sign up, free for the first calls (uses your git email)
npx @cogny/cli init --agent claude-code - 2. see every Semrush tool
cogny tools list - 3. call any tool from bash, no MCP wiring
cogny tools call mcp__Semrush__domain_overview --input '{…}'
Semrush hands you semicolon-delimited CSV exports you reformat in a spreadsheet before you can read them. The CLI parses every response into structured JSON rows in one call, ready to sort, diff, or feed to an agent. Connect Semrush once in Cogny Solo and let your coding agent, or a scheduled loop, do the querying for you.
Start SoloSign yourself up with one command. The CLI issues a key, wires nothing, and exposes every Semrush tool over JSON-RPC. The first 15 calls are free.
npx @cogny/cli init --agent claude-code
real Semrush tools.
Tool names as the Semrush MCP serves them. Send --input JSON, get JSON back. The payloads are illustrative.
- mcp__Semrush__domain_overview
Summary metrics for a domain: rank, organic traffic, keywords, ads.
cogny tools call mcp__Semrush__domain_overview \ --input '{"domain":"example.com","database":"us"}'
example response
{ "rows": [ { "Db": "us", "Dn": "example.com", "Rk": "18422", "Or": "12840", "Ot": "94210", "Oc": "38200", "Ad": "420", "At": "8100", "Ac": "6100" } ], "count": 1 } - mcp__Semrush__domain_organic_keywords
Keywords a domain ranks for organically, by traffic.
cogny tools call mcp__Semrush__domain_organic_keywords \ --input '{"domain":"example.com","database":"us","display_limit":2,"display_sort":"tr_desc"}'
example response
{ "rows": [ { "Ph": "running shoes", "Po": "4", "Nq": "49500", "Cp": "1.85", "Ur": "https://example.com/shoes", "Tr": "0.18", "Tc": "0.21" }, { "Ph": "trail running shoes", "Po": "2", "Nq": "22200", "Cp": "1.40", "Ur": "https://example.com/trail", "Tr": "0.16", "Tc": "0.14" } ], "count": 2 } - mcp__Semrush__phrase_related
Related keyword ideas for a seed phrase.
cogny tools call mcp__Semrush__phrase_related \ --input '{"phrase":"running shoes","database":"us","display_limit":2}'
example response
{ "rows": [ { "Ph": "best running shoes", "Nq": "40500", "Cp": "1.92", "Co": "0.71", "Nr": "88000000" }, { "Ph": "cushioned running shoes", "Nq": "8100", "Cp": "1.55", "Co": "0.64", "Nr": "21000000" } ], "count": 2 }
the rest of the surface.
A sample of the other Semrush tools. Run cogny tools list --json for every tool and its input schema.
- mcp__Semrush__domain_paid_keywords
- mcp__Semrush__domain_organic_competitors
- mcp__Semrush__backlinks_overview
- mcp__Semrush__backlinks
- mcp__Semrush__keyword_overview
- mcp__Semrush__phrase_organic
calls from a script. verdicts from cogny.
Every write is logged with who authorised it. Launches your agent makes (a new campaign, a new ad) become measured tickets automatically; for other changes, your agent offers to register them. Cogny measures each in your own data, three days later for ads and seven for content and SEO, and closes it as worked, partial, didn't work or inconclusive.
- worked
Moved the number. Every measured win has a share card.
- partial
Some of it did.
- didn't work
On the record anyway, so it isn't proposed again.
- inconclusive
Not enough data to call.
questions.
- Is this an official Semrush CLI?
- No — it is the Cogny CLI calling the Semrush MCP over the cogny-mcp-proxy. You connect your Semrush API key once inside Cogny and then call the Analytics API from Bash.
- Do I have to parse Semrush CSV myself?
- No. Semrush returns semicolon-delimited CSV; the proxy parses it into `{ rows, count }` JSON for you. The column codes (Ph, Po, Nq, …) follow Semrush export-column conventions.
- Which databases can I query?
- Any Semrush regional database — pass `database` like us, uk, de, fr, es, se. It defaults to us when omitted.
Building an agent? The full tool map for every server is one fetch: /cli/llms.txt