Pytch MCP Server
# Pytch MCP Server π
[](https://modelcontextprotocol.io)
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/downloads/)
Official **Model Context Protocol (MCP)** server for [Pytch](https://pytch.cc) β the autonomous AI PR & Journalist Outreach platform.
Connect Pytch natively to **Claude Desktop**, **Cursor**, **Claude Code**, **Antigravity**, or your custom AI agents to automate media outreach, run email deliverability audits, track AI brand visibility across LLMs, and find relevant tech journalists.
---
## π Key Features
* **π‘οΈ F6 Deliverability Health & DNS Checker:** Full live DNS check for SPF (including RFC 7208 10-lookup limit), DMARC (`p=reject`/`quarantine`/`none`), DKIM selectors, MX providers, and DNSBL spam blacklists. Provides a 0β100 Deliverability Health Score and an automated 14-day safe warmup ramp schedule.
* **ποΈ F9 AI Visibility Audit (GEO):** Evaluates how LLMs (ChatGPT, Perplexity, Claude, Gemini) see your brand, measures AI Share of Voice (SOV), extracts cited media sources, and matches them to journalists for targeted pitching.
* **π° Journalist Discovery:** Search verified journalists and editors across tech and business publications by beat, topic, and media outlet.
* **βοΈ PR Pitch Generation:** Generate concise, editorially calibrated pitch emails with concrete news hooks.
* **π Campaign Management:** Monitor live campaign statuses, email sends, replies, and deliverability metrics directly from your AI assistant.
---
## β‘ Quickstart
### 1. Claude Desktop Setup
Add to your `claude_desktop_config.json`:
* **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
* **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"pytch": {
"command": "uvx",
"args": ["pytch-mcp"],
"env": {
"PYTCH_API_KEY": "pytch_live_your_secret_key_here",
"PYTCH_API_URL": "https://api.pytch.cc"
}
}
}
}
```
### 2. Cursor IDE Setup
In Cursor Settings β **Features** β **MCP** β **Add New MCP Server**:
* **Name:** `pytch`
* **Type:** `command`
* **Command:** `uvx pytch-mcp`
* **Env:**
* `PYTCH_API_KEY`: `pytch_live_your_key`
Or configure `.cursor/mcp.json`:
```json
{
"mcpServers": {
"pytch": {
"command": "uvx",
"args": ["pytch-mcp"],
"env": {
"PYTCH_API_KEY": "pytch_live_your_secret_key_here"
}
}
}
}
```
### 3. Claude Code Setup
Run directly in terminal:
```bash
claude mcp add pytch -- uvx pytch-mcp
```
### 4. Smithery (1-Click Install)
```bash
npx -y @smithery/cli install pytch-mcp --client claude
```
---
## π οΈ Available MCP Tools
| Tool | Description | Parameters |
| :--- | :--- | :--- |
| `check_domain_deliverability` | Deep DNS check for SPF, DMARC, DKIM, MX, DNSBL, domain score (0β100), and warmup ramp plan | `domain` (required), `selector` (optional) |
| `check_ai_brand_visibility` | Run GEO / AI Visibility audit across LLMs, measure AI SOV, find cited outlets and journalists | `brand_name` (required), `category` (required), `website`, `competitors` |
| `search_journalists` | Find verified journalists by beat, topic or publication | `topic` (required), `outlet` (optional), `limit` (optional) |
| `list_pr_projects` | List user's active PR campaigns in Pytch | None |
| `get_project_results` | Get contacts and outreach stats for a project | `project_id` (required), `limit` (optional) |
---
## π Authentication
To obtain your Pytch API Key:
1. Log in to your [Pytch Dashboard](https://pytch.cc).
2. Go to **Settings** β **API Keys** (or call `GET /users/me/api-key`).
3. Copy your key (starts with `pytch_live_...`).
4. Set the `PYTCH_API_KEY` environment variable.
---
## π³ Docker Usage
```bash
docker build -t pytch-mcp .
docker run -i --rm -e PYTCH_API_KEY="pytch_live_..." pytch-mcp
```
---
## π·πΊ ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ MCP-ΡΠ΅ΡΠ²Π΅Ρ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ **Pytch** (Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠΉ ΠΠ-Π°Π³Π΅Π½Ρ Π΄Π»Ρ ΡΠ²ΡΠ·Π΅ΠΉ Ρ ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΡΡΡΡ ΠΈ ΠΌΠ΅Π΄ΠΈΠ°-Π°ΡΡΡΠΈΡΠ°).
### ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ:
1. **ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΡΡΠΈ:**
* ΠΠ³Π½ΠΎΠ²Π΅Π½Π½ΡΠΉ DNS-Π°ΡΠ΄ΠΈΡ SPF (Ρ Π»ΠΈΠΌΠΈΡΠΎΠΌ 10 DNS lookups RFC 7208), DMARC (`reject`/`quarantine`/`none`), DKIM-ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠΎΠ², MX-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΈ Π±Π°Π· ΡΠΏΠ°ΠΌΠ° (DNSBL).
* Π Π°ΡΡΠ΅Ρ Health Score (0β100) ΠΈ 14-Π΄Π½Π΅Π²Π½ΠΎΠ³ΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠ»Π°Π²Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ΅Π²Π° (Warmup Ramp Schedule).
2. **ΠΠΈΠ΄ΠΈΠΌΠΎΡΡΡ Π±ΡΠ΅Π½Π΄Π° Π² ΠΠ (GEO):**
* ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΡΠΈΡΡΡΡΡΠ²ΠΈΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π² ΠΎΡΠ²Π΅ΡΠ°Ρ
ChatGPT, Perplexity ΠΈ Gemini.
* ΠΠ½Π°Π»ΠΈΠ· ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² (ΠΊΠ°ΠΊΠΈΠ΅ Π‘ΠΠ ΡΠΈΡΠΈΡΡΠ΅Ρ ΠΠ) ΠΈ ΠΏΡΡΠΌΠ°Ρ ΠΏΠΎΠ΄Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ ΠΆΡΡΠ½Π°Π»ΠΈΡΡΠΎΠ² ΠΈΠ· ΡΡΠΈΡ
Π‘ΠΠ Π΄Π»Ρ ΠΏΠΈΡΡΠΈΠ½Π³Π°.
3. **ΠΠΎΠΈΡΠΊ ΠΆΡΡΠ½Π°Π»ΠΈΡΡΠΎΠ²:**
* ΠΠΎΠΈΡΠΊ ΠΏΠΎ Π±Π°Π·Π΅ Pytch ΠΏΠΎ ΡΠ΅ΠΌΠ΅, Π½ΠΈΡΠ΅ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΠΈΠ·Π΄Π°Π½ΠΈΡ (TechCrunch, Forbes, Bloomberg ΠΈ Π΄Ρ.).
4. **Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΡΠΌΠΈ:**
* ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΉ, ΡΡΠ°ΡΡΡΠ° ΠΏΠΈΡΡΠ΅ΠΉ ΠΈ ΠΎΡΠ²Π΅ΡΠΎΠ² ΠΆΡΡΠ½Π°Π»ΠΈΡΡΠΎΠ² ΠΏΡΡΠΌΠΎ Π² ΠΎΠΊΠ½Π΅ Claude ΠΈΠ»ΠΈ Cursor.
---
## π License
MIT License. See [LICENSE](LICENSE) for details.
TDQS
Scored across 5 tools
Each tool targets a distinct resource and action: two self-contained audit blocks (domain deliverability, AI brand visibility), a journalist directory search, and two project-scoped read operations. There is no plausible confusion between email deliverability auditing and AI Share of Voice auditing, nor between listing projects and fetching one project's results.
All five tools follow a clean snake_case verb_noun pattern (check_*, search_*, list_*, get_*), with the verb accurately reflecting the operation's read/analysis semantics. No mixed casing or inconsistent verb styles.
Five tools is on the lean side but each maps to a coherent capability rather than being filler, so nothing feels redundant. It is slightly thin for a PR platform surface, since the audit blocks and the project reads are not joined by any action tool.
The surface covers discovery (search_journalists), monitoring (list_pr_projects, get_project_results) and two standalone audits, but the core PR lifecycle is severed: there is no way to create a project, add/pitch a journalist, or log outreach status. Agents can read state and audit domains but cannot perform the primary action the product implies.