Understanding Seer MCP¶
Audience: Builders, Leadership
Type: Explanation (Understanding-Oriented)
What is Seer MCP?¶
Seer MCP is Seer's centralized Model Context Protocol platform - a cloud-hosted service that provides AI tools, data access, and workflow templates to any LLM front-end (Claude, Open WebUI, NinjaCat, etc.).
Think of it as the execution layer that turns AI "thinking" into reliable "doing."
The Core Insight¶
"Use the pen for thinking; use the calculator for certainty."
LLMs are excellent at reasoning, synthesis, and creative work. They're unreliable at arithmetic, data retrieval, and API calls. Seer MCP handles the "calculator" work so LLMs can focus on the "pen" work.
| Task Type | Who Handles It | Why |
|---|---|---|
| Reasoning, drafting, synthesis | LLM | Creative, context-dependent |
| Data retrieval, API calls | Seer MCP | Must be deterministic |
| Calculations, scoring | Seer MCP | Must be repeatable |
| Workflow orchestration | LLM + MCP Prompts | Guided creativity |
The Building Analogy¶
Think of it like constructing a building:
Seer MCP is structural infrastructure. It's the raw material and load-bearing skeleton - steel, concrete, protocols. It defines what can be built safely and repeatedly, but doesn't tell you what gets built.
agents-infra is the inhabitable layer. It's the floorplan, rooms, and interiors that make the building usable day to day. This is where decisions happen, where tradeoffs get made for real constraints, where usefulness appears.
One enables possibility; the other determines whether people actually want to work there.
Without Seer MCP, you'd be building without a foundation. Without agents-infra, you'd have a skeleton nobody can occupy.
Where Seer MCP Fits¶
┌─────────────────────────────────────────┐
│ What you're doing │
│ (Division plugins: SEO, Analytics, Ops) │
│ Commands like /content-audit │
└─────────────────────────────────────────┘
│
┌─────────────────────────────────────────┐
│ How you behave │
│ (Skills: writing-standards, seo-methods)│
│ Automatic patterns and standards │
└─────────────────────────────────────────┘
│
┌─────────────────────────────────────────┐
│ How you touch reality ← SEER MCP │
│ (Tools, Resources, Prompts) │
│ Deterministic data and execution │
└─────────────────────────────────────────┘
│
┌─────────────────────────────────────────┐
│ External world │
│ (BigQuery, DataForSEO, Wrike, etc.) │
└─────────────────────────────────────────┘
Key insight: Your division plugins (SEO, Analytics, etc.) define what to accomplish. Skills define how to behave. Seer MCP provides reliable access to external data and systems.
Mapping the Analogy¶
| Building | Technology | Purpose |
|---|---|---|
| Foundation & skeleton | Seer MCP | Protocols, contracts, reliable execution |
| Floorplan & rooms | agents-infra plugins | Workflows, commands, deliverables |
| Interior design | Skills | Standards, voice, methodology |
| Utilities (power, water) | MCP Tools | Data access, API calls |
| Building codes | Anthropic MCP spec | Interoperability standards |
| Occupants | Practitioners | People who actually use the building |
| Architects | Builders | People who design and construct |
Why Centralized?¶
The Problem with Distributed MCP¶
Without Seer MCP, each employee would need:
- Local Python environment
- API credentials configured
- MCP server running on their machine
- Manual updates when tools change
That's ~200 people maintaining local infrastructure.
The Centralized Solution¶
With Seer MCP:
- Zero local setup - Connect to cloud service
- Single credential store - OAuth handles permissions
- Automatic updates - Deploy once, everyone gets it
- Centralized logging - Audit trail for all tool usage
- Role-based access - RBAC at the tool level
What Seer MCP Provides¶
1. Tools (Deterministic Execution)¶
Tools guarantee the same output for the same input. Use them when correctness matters.
Examples:
get_search_volume(keyword, location)- Exact search volume dataquery_bigquery(sql)- Database queriesresolve_location_code(location)- API code lookups
When to use: Any time you need real data, not LLM estimation.
2. Resources (Data Access)¶
Resources provide read access to data sources, respecting user permissions.
Examples:
bigquery://tables- List accessible tablespresentations://search?q=topic- Search presentation content
When to use: Browsing or retrieving structured data.
3. Prompts (Workflow Templates)¶
Prompts are long-form instructions that teach the LLM how to complete complex tasks.
Examples:
ai_search_volume_analysis- Complete workflow for volume analysiscontent_audit_workflow- Step-by-step audit process
When to use: Complex multi-step workflows that need consistent execution.
4. Long-Running Jobs¶
Some tasks are too slow or expensive for synchronous execution.
Examples:
- Bulk keyword research (thousands of keywords)
- Cross-dataset correlation analysis
- Historical data exports
Output: Delivered via email or stored artifact.
Build Once, Consume Anywhere¶
A core principle of our architecture: agents are built in one place but consumed through multiple layers.
┌─────────────────────────────────────────────────────┐
│ WHERE AGENTS ARE BUILT │
│ GitHub repo → Claude Code (plugins, skills, etc.) │
└─────────────────────────────────────────────────────┘
│
Seer MCP
(connective tissue)
│
┌───────────────┼───────────────┐
▼ ▼ ▼
┌──────────┐ ┌───────────┐ ┌───────────┐
│ NinjaCat │ │ Claude.ai │ │ Claude │
│ (+ data) │ │ (general) │ │ Code │
└──────────┘ └───────────┘ └───────────┘
Practitioners Practitioners Builders
+ client data without data + full tooling
Why this matters:
- Builders work in Claude Code with full plugin ecosystem, version control, and automatic updates
- Practitioners use whatever consumption layer fits their workflow
- Seer MCP is the connective tissue that makes agents accessible everywhere
Builders¶
Who: Engineers, agent developers, power users
Where: Claude Code, OpenCode, IDE
Activities:
- Create new MCP tools
- Design workflows (prompts)
- Build division plugins
- Test and QA
Key benefit: Changes pushed to GitHub automatically propagate to all consumption layers via plugin updates.
Practitioners/Teams¶
Who: SEO strategists, analysts, account managers
Where: NinjaCat, Claude.ai, dedicated interfaces
Activities:
- Run established workflows
- Generate client deliverables
- Access client data
- Consume what builders create
This split is intentional. Builders need flexibility and version control. Practitioners need reliability and ease of use.
How Plugins Use Seer MCP¶
When you run a command like /content-audit, here's what happens:
1. User runs /content-audit command (agents-infra)
2. Command loads relevant skills (writing-standards, seo-methods)
3. LLM orchestrates the workflow
4. LLM calls Seer MCP tools for data:
- get_serp_data(url) → SERP analysis
- query_bigquery(sql) → Performance metrics
- get_search_volume(keywords) → Volume data
5. LLM synthesizes results using skill standards
6. Output delivered in Seer voice (writing-standards)
The LLM does the thinking. Seer MCP provides the facts.
Graceful Degradation¶
What if Seer MCP is unavailable? Commands should handle this gracefully:
| Scenario | Behavior |
|---|---|
| MCP available | Use tools for data retrieval |
| MCP unavailable | Prompt user for manual data input |
| Partial availability | Use available tools, fallback for others |
Example (from command definition):
## Data Sources
1. **Primary**: Seer MCP (BigQuery, DataForSEO)
2. **Fallback**: Manual CSV upload
3. **Alternative**: GA4 export, Search Console data
Consumption Layers Compared¶
A consumption layer is where practitioners interact with an LLM to do their work. Each has different strengths:
NinjaCat¶
| Aspect | Details |
|---|---|
| What it is | Chat interface built by a marketing reporting company |
| Unique value | Client data already connected (Search Console, GA4, Google Ads via Snowflake) |
| Best for | Practitioners who need to query client data while chatting |
| Limitation | Not designed for agent versioning or complex deterministic workflows |
Why NinjaCat matters: It's the only consumption layer where client marketing data is already aggregated and available. Practitioners don't need to export CSVs or configure connections—they can ask questions about client performance directly.
Claude.ai / Claude Teams¶
| Aspect | Details |
|---|---|
| What it is | Anthropic's web chat interface |
| Unique value | Can load skills directly; familiar chat UX |
| Best for | Quick skill-based work without client data needs |
| Limitation | Manual skill updates (no auto-sync from GitHub); no built-in data connections |
How skills work here: Skills can be uploaded to Claude.ai, but updates require manually replacing the skill file. No automatic versioning.
Claude Code / OpenCode¶
| Aspect | Details |
|---|---|
| What it is | Technical harness with full development tooling |
| Unique value | Plugin marketplace, automatic updates, version control integration |
| Best for | Builders; power users comfortable with terminal |
| Limitation | Requires technical comfort; not for everyone |
Why builders use this: When you run /plugin install seo@seer-agent-core, you get automatic updates. Push a fix to GitHub → everyone on Claude Code gets it immediately.
Choosing the Right Layer¶
| If you need... | Use... |
|---|---|
| Client data + chat in one place | NinjaCat |
| Quick skill-based task, no data | Claude.ai |
| Building/testing agents | Claude Code |
| Full automation + version control | Claude Code |
How Seer MCP Connects Them¶
Seer MCP is the connective tissue that makes agents work across all consumption layers:
┌─────────────────────────────────────────────────────────────┐
│ Seer MCP │
│ Tools: get_search_volume(), query_bigquery(), etc. │
│ Resources: bigquery://tables, presentations://search │
│ Prompts: content_audit_workflow, competitor_analysis │
└─────────────────────────────────────────────────────────────┘
▲ ▲ ▲
│ │ │
NinjaCat Claude.ai Claude Code
(via custom (via MCP (via plugin
action) config) install)
Result: The same agent built in GitHub works in NinjaCat, Claude.ai, or Claude Code. Practitioners choose their preferred interface; the underlying capabilities are identical.
NinjaCat: Learnings and Best Fit¶
Based on our experience building and deploying agents, here's what we've learned about NinjaCat's strengths and limitations:
NinjaCat is Good For¶
| Use Case | Why |
|---|---|
| Non-signals marketing data | Already connected to Search Console, GA4, Google Ads, etc. |
| Team access to LLM chat | Familiar interface, no technical setup required |
| Low-tech prototyping | Quick experiments without code |
| Exploratory data analysis | Chat with your client data directly |
NinjaCat is Not Ready For¶
| Use Case | Why | Alternative |
|---|---|---|
| Building agents at scale | No version control, no plugin ecosystem | Build in Claude Code, consume via NC |
| Deterministic workflows | Chat-based, not programmable | Use Seer MCP tools |
| Versioning and rollback | No GitHub-style history | Build in GitHub repo |
| Complex multi-step automation | Limited orchestration | Use Claude Code + MCP |
The Hybrid Approach¶
Build outside NinjaCat. Consume through NinjaCat (when data is needed).
This gives us:
- ✅ Version control and CI/CD for agent code (GitHub)
- ✅ Fast iteration with full tooling (Claude Code)
- ✅ Client data access for practitioners (NinjaCat)
- ✅ Flexibility to use other consumption layers (Claude.ai, etc.)
Example flow:
- Builder creates
/content-auditcommand in GitHub - Command uses Seer MCP for data retrieval
- Practitioner opens NinjaCat, connects to Seer MCP
- Practitioner runs the audit with client data already available
- Builder pushes fix → Seer MCP updates → Practitioner gets fix automatically
Planned: Snowflake Integration (NinjaCat Data)¶
A key upcoming integration will bring NinjaCat's client data to all consumption layers via Snowflake.
The Problem¶
Currently, client marketing data (Search Console, GA4, Google Ads) is only accessible through NinjaCat's chat interface. Practitioners using Claude.ai or Claude Code can't query this data directly.
The Solution¶
Integrate the official Snowflake MCP server (Snowflake-Labs/mcp) into Seer MCP's authorization layer.
┌─────────────────────────────────────────────────────────────────┐
│ Seer MCP │
│ (Authorization Layer) │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐ │
│ │ BigQuery │ │ DataForSEO │ │ Snowflake │ │
│ │ (internal) │ │ (SERP data) │ │ (NinjaCat client data) │ │
│ │ │ │ │ │ │ │
│ │ │ │ │ │ snowflake-labs-mcp │ │
│ └─────────────┘ └─────────────┘ └─────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
Why the Official Snowflake MCP¶
| Attribute | Value |
|---|---|
| Repo | Snowflake-Labs/mcp |
| Maintainer | Snowflake Labs (official) |
| License | Apache 2.0 |
| Stars | 200+ |
| Install | uvx snowflake-labs-mcp |
Key features:
- SQL execution with granular permission controls
- Object management (list databases, schemas, tables)
- Cortex AI integration (semantic queries, RAG)
- Multiple auth methods (OAuth, key pair, SSO)
- Docker/container deployment support
What This Enables¶
| Before | After |
|---|---|
| Client data only in NinjaCat | Client data in ANY consumption layer |
| Must use NC for data queries | Query from Claude.ai or Claude Code |
| Data siloed from agents | Unified data access via Seer MCP |
Planned Configuration¶
The Snowflake MCP will be wrapped by Seer MCP's authorization layer, with read-only access for most users:
# Planned: Snowflake service configuration
sql_statement_permissions:
- Select: True # Read queries allowed
- Describe: True # Schema inspection allowed
- Insert: False # Write operations disabled
- Update: False
- Delete: False
- Drop: False
Status¶
| Phase | Status |
|---|---|
| Research & selection | ✅ Complete (official Snowflake-Labs/mcp selected) |
| Technical specification | 🟡 In progress (ENG team) |
| Integration with Seer MCP auth | ⏳ Planned |
| Testing with NinjaCat data share | ⏳ Planned |
| Production deployment | ⏳ Planned |
Owner: Engineering team (Seer MCP)
Security Model¶
Authentication¶
- OAuth-based - Single sign-on with Seer credentials
- Token refresh - Transparent session management
- No local credentials - Users don't handle API keys
Authorization (RBAC)¶
- Role-based -
user,alpha_tester,admin - Tool-level - Each tool declares required roles
- Inherited permissions - BigQuery access follows existing IAM
Audit¶
- Centralized logging - All tool calls logged
- Cost tracking - API usage monitoring
- Access audit - Who used what, when
Key Takeaways¶
- Build once, consume anywhere - Agents built in GitHub work across NinjaCat, Claude.ai, and Claude Code
- Seer MCP is the connective tissue - It makes agents accessible from any consumption layer
- Seer MCP is the "calculator" - Use it for anything that needs to be deterministic
- LLMs are the "pen" - Use them for reasoning, synthesis, creativity
- NinjaCat's unique value is data - It's where client marketing data already lives
- Builders create, practitioners consume - Build in Claude Code, use anywhere
Related Documentation¶
- Seer MCP Technical Specification - Full technical details
- Plugin Architecture - How plugins are structured
- MCP Servers Configuration - Local setup