Expert-curated knowledge graphs for AI agents - 100+ datasets across retail, beauty, sports, culture and more via MCP
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
- !Licence file present but not machine-readable
git clone https://github.com/piers-fawkes/fodda-mcp{
"mcpServers": {
"fodda-mcp": {
"command": "node",
"args": ["/path/to/fodda-mcp/dist/index.js"]
}
}
}MCP Servers overview
<div align="center">
<img src="https://ucarecdn.com/6e7893d7-6b14-426b-83bc-574a3f72d6bc/foddaminilogo.png" alt="Fodda Logo" width="120"/>
# Fodda MCP Server
**Expert-curated knowledge graphs for AI agents** — PSFK Retail, Beauty, Sports and partner datasets via the Model Context Protocol.
[](https://registry.modelcontextprotocol.io/v0.1/servers?search=ai.fodda/mcp-server)
[](https://www.npmjs.com/package/fodda-mcp)
[](./CHANGELOG.md)
[](https://fodda.ai)
</div>
---
## Quick Start
### Claude (Web — Pro, Max, Team, Enterprise)
1. Get your personal MCP URL at [app.fodda.ai](https://app.fodda.ai) → Account → MCP Integration (format: `https://mcp.fodda.ai/c/<your-token>`)
2. In Claude, go to **Settings → Connectors → Add custom connector**, paste the URL, and click **Add**
3. Start chatting with your Fodda knowledge graphs
> **Note:** legacy `?api_key=` or `?user_id=` query string URLs are deprecated and return HTTP 401 with explicit instructions (`Fodda: this connection URL is outdated. Get your new MCP URL at https://app.fodda.ai...`). Get your fresh MCP URL or connect via OAuth at [app.fodda.ai](https://app.fodda.ai).
### Claude Code (CLI — SSE)
```bash
claude mcp add --transport sse fodda https://mcp.fodda.ai/sse \
--header "Authorization: Bearer YOUR_API_KEY"
```
### Claude Enterprise
For Claude Enterprise with admin-managed connectors, your workspace admin can register the Fodda MCP server using the same Streamable HTTP endpoint (`https://mcp.fodda.ai/mcp`) via the Admin Console. See [Enterprise MCP Setup](./Enterprise_MCP_Setup.md) for full details.
### OpenAI (Responses API — Recommended)
Use OpenAI's native MCP support — no function definitions needed:
```python
from openai import OpenAI
client = OpenAI()
resp = client.responses.create(
model="gpt-5",
tools=[{
"type": "mcp",
"server_label": "fodda",
"server_description": "Expert-curated knowledge graphs for retail, beauty, sports trends and earnings intelligence.",
"server_url": "https://mcp.fodda.ai/mcp",
"authorization": "Bearer YOUR_API_KEY",
"require_approval": "never",
}],
input="What are the top emerging retail trends?",
)
print(resp.output_text)
```
```javascript
import OpenAI from "openai";
const client = new OpenAI();
const resp = await client.responses.create({
model: "gpt-5",
tools: [{
type: "mcp",
server_label: "fodda",
server_description: "Expert-curated knowledge graphs for retail, beauty, sports trends and earnings intelligence.",
server_url: "https://mcp.fodda.ai/mcp",
authorization: "Bearer YOUR_API_KEY",
require_approval: "never",
}],
input: "What are the top emerging retail trends?",
});
console.log(resp.output_text);
```
> **Tip:** To reduce latency with 30+ tools, use `allowed_tools` to filter:
> `"allowed_tools": ["search_graph", "search_statistics", "brand_tracker"]`
> **Legacy:** If you're using `chat.completions.create()` with function calling, define a custom function that calls the Fodda REST API. See [fodda.ai/connect](https://app.fodda.ai) for details.
### Generic Streamable HTTP Client
Connect to the `/mcp` endpoint using HTTP `POST` (Streamable HTTP) with `Authorization: Bearer YOUR_API_KEY`:
```
https://mcp.fodda.ai/mcp
```
### Gemini / Antigravity
Add to `~/.gemini/config/mcp_config.json`:
```json
{
"mcpServers": {
"fodda": {
"serverUrl": "https://mcp.fodda.ai/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
```
### Generic SSE Client
Connect to `https://mcp.fodda.ai/sse` with an `Authorization: Bearer YOUR_API_KEY` header.
---
## Available Tools
The Fodda MCP server exposes a rich suite of 30 tools to search, analyze, brainstorm, and visualize trends, expert-curated knowledge graphs, and corporate documents.
### Discovery & Search
| Tool | Description | Deterministic |
|------|-------------|:---:|
| `list_graphs` | Discover available knowledge graphs, metadata, and routing instructions. | ✅ |
| `search_graph` | Hybrid keyword + semantic search across curated graphs for trend clusters and evidence. | ❌ |
| `search_statistics` | Search for specific quantitative metrics, indicators, and numeric data points. | ❌ |
| `search_insights` | Search expert quotes, qualitative signals, and professional interpretations. | ❌ |
| `get_label_values` | Discover valid values for a node label or category. | ✅ |
### Traversal & Graph Operations
| Tool | Description | Deterministic |
|------|-------------|:---:|
| `get_neighbors` | Traverse from seed nodes to discover related concept nodes and links. | ✅ |
| `get_node` | Retrieve detailed metadata, properties, and attributes for a single node by ID. | ✅ |
| `get_evidence` | Retrieve source signals, articles, citations, and provenance for a trend or node. | ✅ |
| `discover_adjacent_trends` | Find semantically similar trends to a given trend node. | ✅ |
### Intelligence Domains
| Tool | Description | Deterministic |
|------|-------------|:---:|
| `get_domain_intelligence` | Search all PSFK curated domain graphs (retail, beauty, sports, fashion, consumer electronics, F&B) in parallel. | ❌ |
| `get_expert_intelligence` | Query specialist industry graphs built by leading strategists and experts. | ❌ |
| `get_report_intelligence` | Search institutional report insights from DHL, PwC, Delta, and other partners. | ❌ |
### Earnings & Corporate Insights
| Tool | Description | Deterministic |
|------|-------------|:---:|
| `get_earnings_intelligence` | Query management commentary, business guidance, and Q&A from company earnings calls. | ❌ |
| `get_earnings_divergence` | Detect deflections, gaps, and divergence between analyst concerns and executive responses in earnings calls. | ❌ |
### Brand & Ideation
| Tool | Description | Deterministic |
|------|-------------|:---:|
| `brand_tracker` | Compile a comprehensive Brand Intelligence Profile across all knowledge graphs. | ❌ |
| `brainstorm_topic` | Graph-powered brainstorm map discovering unexpected connections and adjacent territories. | ❌ |
### Deep Research & Execution Agents
| Tool | Description | Deterministic |
|------|-------------|:---:|
| `deep_research_topic` | Launch an autonomous research session combining graphs with live web search. | ❌ |
| `check_research_status` | Check progress or retrieve the final narrative report of a deep research job. | ✅ |
| `get_supplemental_context` | Fetch macro context from up to 10 institutional data sources in a single query. | ❌ |
| `check_supplemental_status` | Retrieve output from a supplemental context job. | ✅ |
### Synthetic Analyst & Visualization
| Tool | Description | Deterministic |
|------|-------------|:---:|
| `list_analysts` | List available Synthetic Analyst expert personas. | ✅ |
| `consult_analyst` | Engage a Synthetic Analyst persona to synthesize answers with specialized voice. | ❌ |
| `generate_visual` | Generate branded SVG data visualizations (Cultural Shifts, Competitive Compass, Innovation Pathway, etc.). | ❌ |
> **Note on Dynamic Partner Skills:** When partner skills (such as Paralogy or Igloo) are enabled for a user's account, additional specialized tools (e.g. `paralogy_analyze_trends`, ideation tools) are dynamically registered on the MCP server and made available automatically.
>
> **Note on System Utilities:** The server also registers several helper and account management utilities (e.g., `get_my_account`, `toggle_graph_preference`, `update_user_profile`, `manage_scheduled_reports`, `send_feedback`) to allow the AI assistant to query subscription status, manage scheduled briefings, or save personalization settings directly.
---
### Discovery Endpoints
| Endpoint | Description |
|----------|-------------|
| `GET /health` | Health check (`{ "status": "ok", "version": "..." }`) |
| `POST /mcp` | MCP endpoint — call the standard `tools/list` method on an initialized session to retrieve full tool schemas and capabilities |
---
## Authentication
**Preferred — HTTP header (used by the directory connection and all header-capable clients).**
Pass your Fodda API key as a Bearer token:
```
Authorization: Bearer sk_live_...
```
The server also accepts the key via an `X-API-Key: sk_live_...` header.
In MCP request `_meta`:
```json
{ "_meta": { "authorization": "Bearer sk_live_..." } }
```
**Fallback — URL query parameter.** Some clients (e.g. the Claude.ai web *custom
connector* UI) cannot set custom request headers. For those, the key may be passed as
`?api_key=...`. This is provided only for compatibility; prefer header-based auth
wherever the client supports it, since URLs are more likely to be logged by
intermediaries. The server never returns your API key in tool output.
---
## Configuration
| Variable | Description | Default |
|----------|-------------|---------|
| `PORT` | HTTP server port (omit for stdio mode) | — |
| `FODDA_API_URL` | Upstream API base URL | `https://api.fodda.ai` |
| `FODDA_MCP_SECRET` | HMAC signing secret for API requests | — |
| `NODE_ENV` | Environment (`development` / `production`) | `production` |
---
## Build & Run
```bash
npm install
npm run build
# Stdio mode
npm start
# SSE mode
PORT=8080 npm start
```
## Self-Hosting
- **Docker**: `docker build -t fodda-mcp . && docker run -p 8080:8080 -e PORT=8080 fodda-mcp`
- **Cloud Run**: `./deploy_cloud_run.sh`
- **Kubernetes**: See [`deployment/k8s/`](./deployment/k8s/)
- **Terraform**: See [`deployment/terraform/`](./deployment/terraform/)
---
## MCP Registry
This server is published to the [Official MCP Registry](https://registry.modelcontextprotocol.io) as `ai.fodda/mcp-server`.
```bash
# Verify listing
curl "https://registry.modelcoWhat people ask about fodda-mcp
What is piers-fawkes/fodda-mcp?
+
piers-fawkes/fodda-mcp is mcp servers for the Claude AI ecosystem. Expert-curated knowledge graphs for AI agents - 100+ datasets across retail, beauty, sports, culture and more via MCP It has 1 GitHub stars and its last recorded update is dated 2026-08-22.
How do I install fodda-mcp?
+
You can install fodda-mcp by cloning the repository (https://github.com/piers-fawkes/fodda-mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is piers-fawkes/fodda-mcp safe to use?
+
Our security agent has analyzed piers-fawkes/fodda-mcp and assigned a Trust Score of 80/100 (tier: Trusted). See the full breakdown of passed checks and flags on this page.
Who maintains piers-fawkes/fodda-mcp?
+
piers-fawkes/fodda-mcp is maintained by piers-fawkes. The last recorded GitHub activity is dated 2026-08-22, with 0 open issues.
Are there alternatives to fodda-mcp?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy fodda-mcp to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/piers-fawkes-fodda-mcp)<a href="https://claudewave.com/repo/piers-fawkes-fodda-mcp"><img src="https://claudewave.com/api/badge/piers-fawkes-fodda-mcp" alt="Featured on ClaudeWave: piers-fawkes/fodda-mcp" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!