Meet Eden.

Docs / MCP

Connect your AI to PromptEden

Use your AI client to inspect projects, monitors, captured answers, and site analytics with the Model Context Protocol (MCP).

Local stdio · Hosted Streamable HTTP · Scoped API keys

Connect

Start with an API key from Settings → API Keys. For local stdio, install Node 20 or later. Your client starts npx -y @prompteden/mcp-server and passes PROMPTEDEN_API_KEY to that process.

pe_xxx is a placeholder. Replace it locally with your own key. Keep configurations that contain a real key out of version control.

Claude Desktop

Add this entry to claude_desktop_config.json, merging it with any existing MCP servers. Restart Claude Desktop after saving, then ask it to call list_monitors.

Claude Desktop · local stdio
{
  "mcpServers": {
    "prompteden": {
      "command": "npx",
      "args": [
        "-y",
        "@prompteden/mcp-server"
      ],
      "env": {
        "PROMPTEDEN_API_KEY": "pe_xxx"
      }
    }
  }
}

Claude Code

Set PROMPTEDEN_API_KEY in the shell environment that launches the client. Add this to your project's .mcp.json. It uses environment expansion so the key stays out of the file. Approve the project server when prompted, then use /mcp to check its connection.

Claude Code · .mcp.json · local stdio
{
  "mcpServers": {
    "prompteden": {
      "command": "npx",
      "args": [
        "-y",
        "@prompteden/mcp-server"
      ],
      "env": {
        "PROMPTEDEN_API_KEY": "${PROMPTEDEN_API_KEY}"
      }
    }
  }
}

You can also connect without a local Node server using the hosted HTTP configuration below. Choose one configuration for prompteden.

Claude Code · .mcp.json · hosted HTTP
{
  "mcpServers": {
    "prompteden": {
      "type": "http",
      "url": "https://app.prompteden.com/api/mcp",
      "headers": {
        "Authorization": "Bearer ${PROMPTEDEN_API_KEY}"
      }
    }
  }
}

See the Claude Code MCP reference for client configuration details.

Cursor

Add the following to .cursor/mcp.json, or use ~/.cursor/mcp.json for a user-wide setup. Replace the placeholder locally and enable the server in Cursor's MCP settings.

Cursor · mcp.json · local stdio
{
  "mcpServers": {
    "prompteden": {
      "command": "npx",
      "args": [
        "-y",
        "@prompteden/mcp-server"
      ],
      "env": {
        "PROMPTEDEN_API_KEY": "pe_xxx"
      }
    }
  }
}

Ask the client to call list_monitors. For configuration locations and environment-variable options, see the Cursor MCP reference.

Other MCP clients

A client that can launch a stdio process can use command npx, arguments ["-y", "@prompteden/mcp-server"], and environment variable PROMPTEDEN_API_KEY. Adapt the JSON above to your client's format.

For clients that support Streamable HTTP with custom headers, use this endpoint and header. Hosted access needs no local Node process. Legacy SSE transport is disabled.

Hosted MCP · Streamable HTTP
URL: https://app.prompteden.com/api/mcp
Authorization: Bearer pe_xxx

ChatGPT and OAuth-only connectors

This guide does not offer a self-service ChatGPT connector setup. PromptEden has OAuth with PKCE for pre-provisioned clients, but no dynamic client registration. An OAuth client must be enabled with an allowed redirect URI. A remote URL alone does not establish compatibility; use an API-key-capable client above, or contact us about connector access.

Sign-in and permissions

API-key access requires a workspace on Pro, Business, Enterprise, or Agent. Starter and the internal Free holding plan do not include it. See current plans.

  1. Sign in to PromptEden → Settings → API Keys as a workspace owner or admin.
  2. Give the key a name, select its project access and scopes, and choose Create key. For a first check with list_monitors, select monitors:read.
  3. Copy the full key when it appears. It is shown once. Pass it as PROMPTEDEN_API_KEY for local stdio, or as Authorization: Bearer pe_xxx for hosted HTTP.
  4. Ask your client to call list_monitors. An empty monitor list can be a successful connection.

Choose the scopes needed by your tools: account:read, projects:read, monitors:read, results:read, and analytics:read cover the main read tools. Writes need the matching write scope. Limit project access when you only need one project.

Disconnect or revoke access

Remove or disable the prompteden entry in your AI client's MCP configuration to disconnect that client. To invalidate the key for every client using it, return to Settings → API Keys, choose Revoke, then Confirm revoke. A revoked key cannot authenticate; create a new key to reconnect.

What it can do

The local npm server exposes 20 tools: 12 read tools and 8 write tools. Only create_monitor starts recurring metered runs and uses credits; the other local tools do not use credits.

Local writes call the API directly within your key's permissions. On hosted MCP, create_monitor and analytics_add_property_host return approval proposals. Review the action at the returned deepLinkUrl in PromptEden, then use check_approval for its status and result. Other writes in the table are disabled on hosted MCP.

Local stdio tools and hosted availability
Tool / local accessWhat it doesHosted HTTP
get_accountReadGet team, plan, and usage details.Read
list_monitorsReadList the team's monitors.Read
get_resultsReadGet the captured answers for a monitor by its UUID.Read
list_providersReadList the answer engines available to monitors, with key, name, category, and cost tier.Read
list_projectsReadList projects.Read
get_projectReadGet one project by id, UUID, or slug.Read
agent_statusReadGet the status of the authenticated API key or agent.Read
analytics_get_propertyReadGet a project's analytics property: hostname, state, collector state, and latest verification run. Never returns the site key.Read
analytics_get_verificationReadPoll the latest snippet verification run for a project's analytics property. It never starts a run.Read
analytics_get_trafficReadGet the AI-referral traffic report: totals, per-engine series, landing pages, and channel split. A null total means not measured, not zero.Read
analytics_get_overviewReadGet the analytics overview: visits, AI visits, goal completions, top engines and landing pages, and collector state. A null total means not measured, not zero.Read
analytics_list_goalsReadList destination-URL goals with per-goal completions and source split.Read
create_monitorWriteCreate a monitor for a project. It starts recurring metered runs and uses credits.Approval required
create_projectWriteCreate a project.Disabled
analytics_add_property_hostWriteAdd a public collection hostname to an analytics property.Approval required
analytics_create_propertyWriteCreate a project's analytics property. The site key is shown once.Disabled
analytics_rotate_keyWriteRotate a property's site key. The new key is shown once; the old key keeps working through an overlap window.Disabled
analytics_verify_propertyWriteStart a live snippet verification run for a property.Disabled
analytics_create_goalWriteCreate a destination-URL goal from a path such as /thanks. Counting starts at creation.Disabled
analytics_archive_goalWriteArchive a goal. Its history is kept.Disabled

Hosted MCP also has check_approval (read an approval's status and execution result) and preview_displacement_scan (read-only evaluation of a fixture or supplied payload; it does not persist data or run live monitoring). Hosted agent_sign_up and agent_sign_in are disabled.

Analytics totals of null mean there is no basis to report, rather than zero visits. Analytics goal counting starts at creation. Property creation and key rotation return the site key once; save it for snippet installation.

Example prompts

Use these after connecting. Analytics questions need an analytics property; goal questions need goals configured. The last example changes live tracking and uses the local stdio write tool.

  1. List my PromptEden projects and monitors. Which monitors belong to each project?
  2. Fetch the last seven days of results for my brand monitor. Summarize the captured answers and any competitor or cited-source fields the returned data contains.
  3. List the available answer engines and their provider keys before suggesting targets for a new brand monitor.
  4. Show my team's plan and usage. Do not create or change anything.
  5. For my site's analytics property, show measured AI-referral visits and landing pages for the last seven days. If totals are null, explain the collector state instead of reporting zero.
  6. Check the latest analytics snippet verification result. Report its actual status without starting a new check.
  7. List my destination-URL goals and their recorded completions. Distinguish goals that are not configured from goals with zero completions.
  8. Using local stdio, create a destination-URL goal for /thanks on my analytics property. Explain that counting starts when the goal is created.

What it doesn't do

  • It does not unlock content creation or publishing for new plans. Those remain private features for a fixed group of existing subscribers.
  • It does not monitor coding agents as a public feature. Connecting your client gives it access to monitoring data; use list_providers to choose supported answer engines.
  • The local package does not add competitor or citation fields of its own. Analyze those fields only when they exist in the returned results.
  • Hosted MCP does not execute every local write tool. Check the hosted column before asking it to create a project, configure goals, or rotate a site key.

Data and privacy

The local server reads your API key from its environment and does not persist it. PromptEden stores API keys as hashes, and validates the key's workspace, scopes, and project access when serving API requests.

Tool results go to the AI client you connect. Review that client's data handling before sharing account data. Keep API keys out of prompts and committed files. Read the PromptEden Privacy Policy.

Troubleshooting

Missing API key

Set PROMPTEDEN_API_KEY in the environment passed to the local server. A missing key fails when a tool calls the API, even if the server connects. For hosted MCP, send the Authorization: Bearer header; missing credentials return 401 unauthorized.

401 invalid_token: invalid or revoked key

Check that you replaced pe_xxx with the full key. Malformed, unknown, expired, and revoked keys are refused. Create a new key in Settings → API Keys, update the client config, and reconnect.

403 plan_limit: plan has no API access

Free and Starter do not include API-key access. Use a workspace with Pro, Business, Enterprise, or Agent API access. Check the workspace that owns the key.

403 insufficient_scope or project_forbidden

The key lacks a tool's required scope or access to the selected project. Ask an owner or admin to create a key with the needed permissions. For list_monitors, include monitors:read; for create_monitor, include monitors:write.

402 subscription_required

The workspace needs an active subscription. Follow the resubscribeUrl returned by the API to restore access.

429 rate_limit_exceeded

Wait for the Retry-After header before trying again. API keys have a default limit of 100 requests per minute; hosted MCP also applies token and request rate limits. Snippet verification can also return 429 when started too soon.

503 service_unavailable

The rate-limit service could not verify the request. Wait for Retry-After and retry; this error does not mean you exhausted your quota.

Local server will not start or base URL is rejected

Check that Node 20 or later and npx are on the path used by your client. Leave PROMPTEDEN_BASE_URL unset, or set it to https://app.prompteden.com. Other origins are rejected.

Hosted write returns not_enabled

That write has no enabled hosted approval mapping. Use the local stdio server for the write tools listed below. If a supported hosted write returns approval_required, open its deepLinkUrl and review the action in PromptEden.

Support

For connection or account help, email [email protected] or visit Contact us. Include your client, transport, tool name, and error code. Keep your API key out of the message.