NECTARIN Intelligence MCP Server
MCP server for AI-powered marketing intelligence and automation for the RU/CIS market, offering tools for media planning, benchmarks, competitor analysis, and funnel conversion.
README
NECTARIN Intelligence — remote MCP on Cloudflare Workers
Install with Unyly opens the listing once the review is approved (
https://unyly.org/ru/mcp/nectarin-intelligence). Until then, add it manually as a custom connector with the/mcpURL (see Add to Claude).
A production remote Model Context Protocol server for NECTARIN Intelligence — an orchestrator-worker AI marketing agent for the RU/CIS market. It runs entirely on a single Cloudflare Worker, serves MCP over Streamable HTTP (JSON-RPC 2.0) with an opt-in SSE transport, ships with mock/synthetic RU data plus KV real-data layering, and a KV-cached, model-agnostic LLM narrative (DeepSeek wired in this deploy).
New in 2.0: KV LLM response cache (cold 9.8s → warm 0.2s on prod),
LayeredKvDataSourcefor operator-uploaded real benchmarks, opt-in SSE, and richer/health+/versionobservability. See USAGE.md for the connection guide, full tool catalogue, recommended flows, and a ready-to-paste Claude system prompt.
Go live with npx wrangler deploy using your own Cloudflare token.
All figures are MOCK / synthetic, plausible for RU/CIS in RUB. Not legal advice. To serve real data, upload it to KV (
benchmarks:<category>,playbook:<industry>,suppliers) —LayeredKvDataSourceoverrides mock per-key (see USAGE.md).
What's inside
src/index.ts— the Worker. A small, spec-compliant JSON-RPC 2.0 MCP handler (no@modelcontextprotocol/sdkdependency — the SDK's transports target Node'shttp/streams, which don't exist on Workers, so a hand-rolled handler is cleaner and dependency-free). Implementsinitialize,tools/list,tools/call,prompts/list,prompts/get,resources/list,resources/read,completion/complete,ping, and thenotifications/*no-ops, with proper JSON-RPC results/errors.src/tools.ts— the tool registry. It composes three groups: the 11 Intelligence tools (incl. the flagshipstrategy_orchestrateand thebudget_optimizer), the 6 Growth & Automation tools, and the 3 Premium Analytics tools (see the tables below), each with a JSON-SchemainputSchema- async handler. The Premium Analytics group now has 10 tools.
src/growth.ts— the 6 Growth & Automation tools (the funnel layer):roi_calculator,lead_qualify,request_nectarin_proposal,book_consultation,automation_recipe,value_forecast. Deterministic, synthetic logic anchored to the same mock benchmarks; no PII is sent and no real network call is made (proposal/booking are clearly-marked stubs).src/analytics.ts— the 10 Premium Analytics tools:compliance_check(RU ad-law copy review, ФЗ-38/ОРД, optional LLM rewrite),ab_test_planner(real two-proportion power analysis with inverse-normal z + Bonferroni),unit_economics(LTV/CAC/payback/ROAS + verdict),funnel_model(full-funnel scenarios + biggest leak),seasonality_forecast(12-month demand index),creative_score(best-practice copy scoring),attribution_model(5-model multi-touch attribution),bid_simulator(auction bid/win-rate curve),report_export(strategy → deck/one-pager) andlocalize(RU/EN/KZ/UZ). Deterministic and auditable.src/orchestrator.ts— the planner → workers (dataRetriever, analyst, strategist, copywriter, compliance) → synthesizer pipeline.media_planmath is real:impressions = spend / CPM × 1000,clicks = impressions × CTR,conversions = spend / CPA, plus estimated reach and blended CPA. The flagshipstrategy_orchestratefans out to every worker in one call (benchmarks + audience + competitors + plan/forecast + optimized split + creative + compliance- ROI + executive summary).
budget_optimizersolves the conversion-maximizing channel split (water-fill by CPA under a per-channel cap). ThecallLLM()seam is real-or-stub: it calls Anthropic/OpenAI whenLLM_API_KEYis set and falls back to a deterministic stub otherwise (and on any model error), so the pipeline never breaks.
- ROI + executive summary).
src/data.ts— synthetic benchmarks / suppliers / playbooks + seasonality behind aDataSourceinterface (defaultMockDataSource;KvDataSource/HttpDataSourcestubs included). Coverage: 8 categories (realty, finance, auto, retail, fmcg, pharma, ecom, edtech) × 5 platforms (VK Ads, Yandex Direct, Telegram Ads, OLV, Avito), with aprovenanceblock on every benchmark response. SeeDATA_SCHEMA.mdfor the exact data NECTARIN must supply.src/auth.ts— real OAuth 2.1 bearer verification viajose(createRemoteJWKSet+jwtVerify) against a JWKS URL — validates signature, issuer, audience, expiry. In production Unyly Connect fronts OAuth 2.1 (DCR + PKCE); this resource server only validates the token.DEV_BYPASS=1disables the check for local/dev.src/ratelimit.ts— per-token/IP token-bucket rate limiter (RATE_LIMIT_PER_MIN, default 60), with KV/Durable-Object hooks for production.src/validate.ts— per-tool JSON-Schema input validation (-32602).
HTTP routes
| Method | Path | Purpose |
|---|---|---|
| POST | /mcp |
JSON-RPC 2.0 MCP endpoint (auth + rate limit) |
| GET | /.well-known/oauth-protected-resource |
OAuth discovery |
| GET | /health |
Liveness probe |
| GET | /version |
name + version + toolCount + commit + authMode |
| GET | / |
Friendly index (endpoint URLs) |
JSON-RPC error codes
-32700 parse · -32600 invalid request · -32601 unknown method/tool ·
-32602 invalid params (schema validation) · -32603 internal (safe message) ·
-32029 rate limited (HTTP 429). A 401 carries WWW-Authenticate with the
resource_metadata discovery pointer.
Tools (34 total)
Intelligence group (inform + orchestrate)
| Tool | What it does |
|---|---|
strategy_orchestrate |
Flagship. One call → full go-to-market strategy: benchmarks + audience + competitors + media plan/forecast + optimized split + creative concept + compliance + ROI + executive summary. |
budget_optimizer |
Conversion-maximizing budget split (water-fill by CPA under a per-channel cap) + uplift vs. the goal preset. |
ru_benchmarks |
CPM/CTR/CPA/VTR percentiles for a category × KPI (× platform). |
supplier_quality |
Inventory quality index, fraud risk, recommended/avoid suppliers. |
media_plan |
RUB budget split + real forecast (impr/clicks/conv/reach/blended CPA). |
category_playbook |
Territories, do's & don'ts, seasonal hooks, compliance gate. |
audience_insights |
Segments, JTBD, media affinities for a category. |
competitor_scan |
Likely competitors, activity, channels, owned territory. |
geo_aeo_audit |
Brand visibility inside AI answer engines + RU search. |
creative_brief |
Objective, proposition, mandatories + 3 concept territories. |
report_explain |
Plain-language report read, anomalies, prioritized fixes. |
Growth & Automation group (convert + automate) — drives the funnel
These tools turn the agent from an advisor into a revenue engine. Together they walk a marketer down the funnel: acquire marketers → qualify → proposal → managed services, and frame NECTARIN as automation, not just advice.
| Tool | What it does | Funnel stage |
|---|---|---|
roi_calculator |
Projects CPA improvement, extra conversions & est. annual value from the mock benchmarks (method shown). | Acquire / show value |
value_forecast |
3-scenario (conservative/base/ambitious) reach + efficiency + savings projection, assumptions stated. | Acquire / show value |
lead_qualify |
0-100 fit score + recommended tier (self-serve / managed / enterprise retainer) via budget thresholds + signals. | Qualify |
request_nectarin_proposal |
Structured RFP/brief + clearly-stubbed submission reference. Sends nothing (no CRM/webhook/email); privacy note included. | Proposal |
book_consultation |
Scheduling CTA with a booking URL from NECTARIN_BOOKING_URL + a "what to prepare" checklist. |
Proposal → close |
automation_recipe |
Concrete multi-agent workflow (steps, internal tools, cadence, est. time saved) NECTARIN runs as a managed service. | Managed services |
Premium Analytics group (operate at a senior level)
These make the agent a senior operator: a RU ad-law reviewer, an experimentation lead, and a unit-economics analyst. All math is deterministic and auditable.
| Tool | What it does |
|---|---|
compliance_check |
RU ad-law review of copy → 0-100 score + flagged risks (severity, ФЗ-38 article, fix): superlatives/ФАС, comparative claims, finance (ПСК, guaranteed returns), pharma warning, alcohol/tobacco/gambling, ОРД/ЕРИР marking. Optional LLM rewrite. Not legal advice. |
ab_test_planner |
Two-proportion power analysis: sample size/variant, total, duration; exact z via inverse-normal (Acklam) + Bonferroni for multi-variant; guardrails. |
unit_economics |
LTV / LTV:CAC / payback / ROAS / contribution; CAC from spend÷customers, lifespan from churn; health verdict + levers. |
funnel_model |
Full-funnel projection (impressions→reach→clicks→leads→qualified→sales→revenue) with conservative/base/optimistic scenarios, per-stage drop-off, CAC/ROAS, and the biggest leak. |
seasonality_forecast |
12-month RU/CIS demand index per category, peak/trough months, monthly budget weighting + optional annual-budget split. |
creative_score |
0-100 best-practice score for ad copy (value prop, specificity, CTA, length, benefit-focus, no-CAPS) + fixes, compliance flag, optional LLM variants. |
attribution_model |
Multi-touch attribution over conversion paths (first/last/linear/position-based/time-decay) + which channels last-touch under/over-values. |
bid_simulator |
Auction bid/win-rate trade-off curve from benchmark CPC/conv-rate; recommends a bid for a target CPA or max conversions under a daily budget. |
report_export |
Turns a strategy/analysis into a deck — slides (title+bullets+notes), full Markdown deck and a one-pager. Composable after strategy_orchestrate. |
localize |
Translate + culturally adapt copy into RU/EN/KZ/UZ for CIS markets (LLM-backed, graceful fallback). |
Premium group (v2.1+ — generate, monitor, project, operate)
| Tool | What it does |
|---|---|
creative_variants |
Generate and score N ready-to-test ad variants (LLM-backed + KV-cached; deterministic template fallback). Each variant gets the creative_score heuristic + a compliance flag, ranked best-first. Pairs with ab_test_planner. |
anomaly_detector |
Robust median/MAD z-score anomaly detection over a metric time series (CPA/CTR/spend…) for always-on monitoring; flags per-point severity/direction and whether the latest point is anomalous. Std fallback for low-variance series. |
cohort_ltv |
Retention-curve cohort LTV/NPV projection (explicit curve OR churn%+periods), per-period survivors/revenue, LTV:CAC, payback period. Complements unit_economics. |
utm_builder |
Build a consistent, validated UTM tracking URL — normalizes tokens (lower/snake/kebab/preserve), URL-encodes, preserves existing query, warns on uppercase/spaces/non-ASCII, suggests a naming convention. |
pacing_monitor |
Budget pacing vs. an even spend curve: expected spend, pace ratio, status (under/on-track/over), projected end spend, recommended daily spend to land on budget. |
response_curve |
Channel saturation / diminishing-returns modeling. Fits conversions = a·spend^b to your current per-channel spend & conversions, then computes the conversion-maximizing budget split (closed form share ∝ a^(1/(1-b))) + projected conversions, per-channel marginal CPA, blended-CPA improvement and uplift vs. current. |
MMM group (v2.12+ — marketing mix modeling)
| Tool | What it does |
|---|---|
mmm_optimize |
Marketing Mix Model (MMM-lite). From each channel's spend & conversions time series, fits adstock/carryover (geometric decay λ, grid-searched by R²) and saturation (conversions = a·adstock(spend)^b, 0<b≤1), then computes the conversion-maximizing steady-state budget split via exact Lagrange bisection (marginal CPA equalized). Returns decay, carryover half-life, elasticity, fit R²/confidence, recommended spend, projected conversions, marginal CPA and uplift. |
Funnel logic & safety. All Growth figures are synthetic/illustrative and anchored to the same mock RU/CIS benchmarks (
src/data.ts) — internally consistent, but not guarantees. No tool transmits PII or makes a real network call.request_nectarin_proposalonly returns a brief for human review; the exact spot for a real CRM/webhook POST is commented insrc/growth.ts(gated behindNECTARIN_CRM_WEBHOOK_URL, left blank on purpose).
Growth & Automation env vars (wrangler.toml [vars])
| Var | Purpose | Default |
|---|---|---|
NECTARIN_BOOKING_URL |
Scheduling link returned by book_consultation. |
https://nectarin.example/booking (placeholder) |
NECTARIN_CONTACT_EMAIL |
Funnel inbox shown in proposal next-steps. | hello@nectarin.example (placeholder) |
NECTARIN_BRAND_NAME |
Brand label used in copy. | NECTARIN |
NECTARIN_CRM_WEBHOOK_URL |
Where a real proposal would POST. Blank = nothing is ever sent. | "" |
Go live — exact steps
From this folder (nectarin-intelligence-worker/):
# 1. Install dependencies
npm install
# 2. Authenticate to Cloudflare (interactive browser login)
npx wrangler login
# …or, for CI / headless, set a scoped API token instead of logging in:
# export CLOUDFLARE_API_TOKEN="<your-token-with-Workers-Scripts-Edit>"
# (optionally also export CLOUDFLARE_ACCOUNT_ID="<your-account-id>")
# 3. Deploy
npx wrangler deploy
Wrangler prints the live URL, e.g.:
https://nectarin-intelligence.<your-subdomain>.workers.dev
Your MCP endpoint is that URL + /mcp:
https://nectarin-intelligence.<your-subdomain>.workers.dev/mcp
Add to Claude (Custom Connector)
- Claude → Settings → Connectors → Add custom connector.
- Name:
NECTARIN Intelligence. URL: the/mcpURL above. - Save. Because
DEV_BYPASS="1"is set inwrangler.toml, the server accepts requests without a token out of the box — good for a first smoke test. Turn auth on before any real/shared use (see Security below).
Smoke test with curl
# Replace with your deployed host.
HOST="https://nectarin-intelligence.<your-subdomain>.workers.dev"
# Health
curl -s "$HOST/health"
# MCP initialize
curl -s "$HOST/mcp" \
-H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'
# List tools
curl -s "$HOST/mcp" \
-H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
# Call media_plan (real forecast + compliance gate for finance)
curl -s "$HOST/mcp" \
-H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"media_plan","arguments":{"budget":5000000,"goal":"performance","geo":"РФ","audience":"25-45","period":"сентябрь 2026","category":"finance"}}}'
initialize returns serverInfo, protocolVersion, and capabilities;
tools/list returns all 34 tools (11 Intelligence + 6 Growth & Automation + 10 Premium Analytics + 6 Premium + 1 MMM);
media_plan returns the split, forecast totals, per-channel detail, and a
STOP-GATE flag for regulated categories.
# Flagship: full orchestrated strategy in one call
curl -s "$HOST/mcp" \
-H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":6,"method":"tools/call","params":{"name":"strategy_orchestrate","arguments":{"brand":"Acme","category":"finance","budget":8000000,"goal":"performance","geo":"РФ"}}}'
# Optimize the channel split to maximize conversions
curl -s "$HOST/mcp" \
-H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":7,"method":"tools/call","params":{"name":"budget_optimizer","arguments":{"category":"retail","budget":4000000,"goal":"performance"}}}'
# Funnel example: ROI pitch (synthetic, anchored to mock benchmarks)
curl -s "$HOST/mcp" \
-H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"roi_calculator","arguments":{"monthly_budget":3000000,"category":"finance"}}}'
# Qualify a lead → tier recommendation
curl -s "$HOST/mcp" \
-H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":5,"method":"tools/call","params":{"name":"lead_qualify","arguments":{"company":"Acme","monthly_budget":6000000,"industry":"finance","goal":"performance"}}}'
Local development
cp .dev.vars.example .dev.vars # edit if needed; .dev.vars is gitignored
npm run dev # wrangler dev → http://localhost:8787/mcp
npm run typecheck # tsc --noEmit
npm test # vitest run (30 tests)
npm run dry # wrangler deploy --dry-run --outdir dist (no Cloudflare auth needed)
Tests
npm test runs the vitest suite against the Worker's fetch() handler directly:
initialize handshake, tools/list (34 tools), happy-path tools/call
(ru_benchmarks, media_plan, roi_calculator, lead_qualify,
budget_optimizer, strategy_orchestrate), invalid params (-32602), unknown
tool/method (-32601), the auth 401 path (DEV_BYPASS off, no token), plus unit
tests for the rate limiter and validator.
Production configuration
Everything below is off by default so the server runs locally with zero secrets. Turn it on for real/shared use.
Environment variables (wrangler.toml [vars])
| Var | Purpose | Default |
|---|---|---|
DEV_BYPASS |
"1" skips auth (dev). Set "0" to enforce OAuth. |
"1" |
OAUTH_ISSUER |
Expected iss; also derives the JWKS URL if OAUTH_JWKS_URL is blank. |
"" |
OAUTH_AUDIENCE |
Expected aud (your /mcp URL). |
"" |
OAUTH_JWKS_URL |
JWKS endpoint; blank → ${OAUTH_ISSUER}/.well-known/jwks.json. |
"" |
RATE_LIMIT_PER_MIN |
Requests/min per token (or IP). 0 disables. |
60 |
GIT_COMMIT |
Build id surfaced by GET /version. |
dev |
NECTARIN_BOOKING_URL / …_CONTACT_EMAIL / …_BRAND_NAME / …_CRM_WEBHOOK_URL |
Growth funnel (placeholders; no PII sent). | see table above |
Secrets (never in wrangler.toml / git)
Use Cloudflare secrets for anything sensitive:
npx wrangler secret put LLM_API_KEY # enables REAL narrative (Anthropic/OpenAI)
npx wrangler secret put NECTARIN_DATA_API_KEY # if using HttpDataSource
.dev.vars is for local dev only and is gitignored.
Enable a real LLM narrative (optional)
callLLM() is real-or-stub. With no key it returns a deterministic stub, so
the server runs fully offline. To switch narrative copy (media_plan rationale,
creative_brief concepts, geo_aeo_audit summary, and the strategy_orchestrate
executive summary) to a real model:
npx wrangler secret put LLM_API_KEY # required to go live
Optional [vars]: LLM_PROVIDER (anthropic default | openai), LLM_MODEL
(per-provider default otherwise), LLM_BASE_URL (proxy/Azure/self-host). Any model
error degrades gracefully back to the stub — a tool call never fails because of the LLM.
Enable OAuth 2.1 (real bearer verification)
- In
wrangler.toml[vars]setDEV_BYPASS = "0"and fillOAUTH_ISSUER,OAUTH_AUDIENCE(= your/mcpURL), and optionallyOAUTH_JWKS_URL. - That's it —
src/auth.tsalready verifies the JWT withjose(createRemoteJWKSet+jwtVerify): signature, issuer, audience, expiry. A failed/missing token → HTTP 401 withWWW-Authenticate: Bearer error=…, resource_metadata="…". Unyly Connect is the authorization server (DCR + PKCE, issuance/rotation, per-tenant scopes); this Worker only validates.
Rate limits
Backend precedence (auto-selected in fetch(), reported by /health & /version):
- Durable Object (
RATE_LIMITER, bound in this deploy) — strongly consistent: one DO instance per key owns a token bucket, so even a parallel burst is counted exactly. Verified on prod: a 120-request burst at 60/min returned ~64×200 / ~56×429. - KV (
NECTARIN_KV) — global, cross-isolate fixed-window (eventually consistent; can over-admit under a burst). Used if no DO. - Memory — per-isolate token bucket. Used if neither binding is present.
- Everything is fail-open: a DO/KV error degrades to the next layer (down to memory), so an infra hiccup never hard-locks the public connector.
RATE_LIMIT_PER_MINsets the ceiling (default 60).- Over-limit → JSON-RPC
-32029+ HTTP 429 withRetry-After/X-RateLimit-*.
Per-tenant data (X-Tenant-Id)
With KV bound, each request may carry an X-Tenant-Id header (alphanumerics /
._-, ≤64 chars). The Worker then resolves benchmark/playbook/supplier lookups
in the order tenant override → global override → bundled mock, where the
tenant layer reads tenant:<id>:benchmarks:<category> (etc.) from KV. This is
request-scoped via AsyncLocalStorage — concurrent requests never share or race
each other's data source, and no tool code changes. An absent/invalid header (or
no KV) transparently falls back to the shared data. Reported by /health &
/version (perTenant). To populate a tenant:
npx wrangler kv key put --remote --namespace-id <id> "tenant:acme:benchmarks:retail" '<json>'.
Swapping the data source (mock → real)
- Provide the datasets in
DATA_SCHEMA.md(benchmarks,playbooks,suppliers) via KV, D1, or an internal HTTP API. - Implement
KvDataSourceorHttpDataSourceinsrc/data.ts(stubs included). - Add the binding in
wrangler.toml, then callsetDataSource(...)once at the top offetch()insrc/index.ts. No tool/orchestrator changes needed. - (Optional) Swap
callLLM()insrc/orchestrator.tsfor a real modelfetch().
Wiring real data later
src/data.ts defines a DataSource interface (getMetric,
getCategoryBenchmarks, getPlaybook, getSuppliers); the default is
MockDataSource over inline synthetic objects. Tools read only through this
interface, so going real is a one-line wiring change — no upstream edits.
- Create the store and paste its ID into the commented block in
wrangler.toml:npx wrangler kv namespace create NECTARIN_KV # or npx wrangler d1 create nectarin-intelligence - Implement
KvDataSourceorHttpDataSourceinsrc/data.ts(commented stubs included) against the data described inDATA_SCHEMA.md. - Call
setDataSource(new KvDataSource(env.NECTARIN_KV))once at the top offetch()insrc/index.ts. - Swap
callLLM()insrc/orchestrator.tsfrom the stub to an Anthropic/OpenAIfetch()call (key fromwrangler secret) for real narrative copy.
DATA_SCHEMA.mdis the client handoff: it lists the exact tables/collections (benchmarks,playbooks,suppliers), columns, types, example rows, and which tool consumes each. Hand it to NECTARIN to source the data.
Resources & prompts exposed
- Resources:
nectarin://methodology,nectarin://glossary, andnectarin://catalog— a liveapplication/jsoncatalog of every tool (title, description, input schema, behavioral annotations) + prompts, generated from the registry on read so it never drifts. - Tool annotations:
tools/listreturns MCPToolAnnotationshints + a displaytitleper tool. Pure tools arereadOnlyHint/idempotentHinttrue,openWorldHintfalse; LLM-backed (creative_variants,localize) are non-idempotent/open-world;request_nectarin_proposalis not read-only. - Prompts (11):
build_media_plan,full_strategy(one-shot flagship viastrategy_orchestrate),competitor_teardown, the two funnel orchestratorssell_nectarin_services(roi_calculator → value_forecast → lead_qualify → request_nectarin_proposal → book_consultation) andautomate_my_marketing(automation_recipe → roi_calculator → book_consultation), pluscreative_lab(creative_variants → compliance_check → ab_test_planner),growth_monitor(anomaly_detector → cohort_ltv + unit_economics),launch_flight(media_plan → seasonality_forecast → utm_builder → pacing_monitor) andperformance_review(anomaly_detector → attribution_model → bid_simulator → budget_optimizer),saturation_reallocation(response_curve → pacing_monitor) for diminishing-returns budget splits, andmmm_planning(mmm_optimize) for time-series adstock + saturation modeling.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.