DevelopersMedialyst MCP

Medialyst MCP

Medialyst exposes a remote MCP server for agents that need to search news, create media lists, inspect media-list tables, update rows and columns, and create share links.

The site docs are for setup. The MCP server is the source of truth for agents while they work.

Get An API Key

  1. In Medialyst, open Settings → Developers. The _ segment resolves to your current organization.
  2. Click Create API Key.
  3. Give the key a clear name, then choose the smallest set of scopes that covers the agent workflow.
  4. Copy the key immediately. Medialyst only shows the raw key once.
  5. Store the key in your agent client's secret storage or an environment variable such as MEDIALYST_API_KEY.

Available on all plans

API keys and the MCP API are available on all Medialyst plans. No plan upgrade is required to connect an agent; metered tools still use your workspace credits.

Endpoint And Auth

Use the production MCP endpoint:

https://medialyst.ai/api/mcp

The server uses MCP Streamable HTTP. Every client must send your Medialyst API key as a bearer token:

Authorization: Bearer <YOUR_API_KEY>

OAuth is not required for v1.

Required Scopes

Use the smallest key that covers the workflow:

ScopeNeeded for
news:searchSearching recent news coverage
media_lists:readListing, reading, and inspecting media lists
media_lists:writeCreating lists, mutating tables, deleting lists, and creating share links

Keep keys out of prompts

Store API keys in environment variables or your agent client's secret storage. Do not paste raw keys into a chat thread or commit them to a repo.

Connect Your Agent

Use one of the client snippets below. Replace <YOUR_API_KEY> with the key you copied, or export MEDIALYST_API_KEY when the snippet uses an environment variable.

Claude Code

Claude Code can connect to remote HTTP MCP servers directly:

export MEDIALYST_API_KEY="<YOUR_API_KEY>"

claude mcp add --transport http --scope user medialyst https://medialyst.ai/api/mcp \
  --header "Authorization: Bearer $MEDIALYST_API_KEY"

Verify in Claude Code:

/mcp

Codex

Add this to ~/.codex/config.toml:

[mcp_servers.medialyst]
url = "https://medialyst.ai/api/mcp"
bearer_token_env_var = "MEDIALYST_API_KEY"

Then export the key before starting Codex:

export MEDIALYST_API_KEY="<YOUR_API_KEY>"
codex mcp list

You can also verify from inside Codex:

/mcp

OpenClaw

Register Medialyst in OpenClaw's MCP registry:

openclaw mcp set medialyst '{"url":"https://medialyst.ai/api/mcp","transport":"streamable-http","headers":{"Authorization":"Bearer <YOUR_API_KEY>"}}'

Verify the saved config:

openclaw mcp show medialyst --json

Hermes

Add this to ~/.hermes/config.yaml:

mcp_servers:
  medialyst:
    url: "https://medialyst.ai/api/mcp"
    headers:
      Authorization: "Bearer <YOUR_API_KEY>"

Restart Hermes, or reload MCP from an active Hermes session:

/reload-mcp

Cursor

Cursor can use the global MCP config file at ~/.cursor/mcp.json. Add:

{
  "mcpServers": {
    "medialyst": {
      "url": "https://medialyst.ai/api/mcp",
      "headers": {
        "Authorization": "Bearer ${env:MEDIALYST_API_KEY}"
      }
    }
  }
}

Then start Cursor from a shell where the key is exported:

export MEDIALYST_API_KEY="<YOUR_API_KEY>"
cursor .

You can also open Cursor Settings → MCP, choose Add new global MCP server, and paste the same JSON into the config editor.

Claude Cowork / Claude Desktop

For Claude Desktop-style local MCP configuration, add Medialyst through a stdio bridge in claude_desktop_config.json:

{
  "mcpServers": {
    "medialyst": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://medialyst.ai/api/mcp",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer <YOUR_API_KEY>"
      }
    }
  }
}

Restart Claude Desktop after saving the file.

Other MCP-Compatible Agents

Use the Streamable HTTP endpoint and bearer header directly:

MCP URL: https://medialyst.ai/api/mcp
Transport: Streamable HTTP
Header: Authorization: Bearer <YOUR_API_KEY>

If your client only supports stdio servers, bridge to the remote endpoint with mcp-remote:

{
  "mcpServers": {
    "medialyst": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://medialyst.ai/api/mcp",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer <YOUR_API_KEY>"
      }
    }
  }
}

Runtime Docs Tools

Agents should not rely on stale copied schemas. After connecting, they should ask the MCP server how to use the current contract.

ToolPurpose
get_usage_guideCurrent workflow guidance by topic
get_tool_referenceCurrent tool examples, scope requirements, and optional generated schemas

Recommended first calls:

{
  "topic": "getting_started",
  "detail": "short"
}

Then, before a mutation:

{
  "tool_name": "apply_table_action",
  "detail": "full"
}

Use include_schema: true only when examples are not enough. Some table-action schemas are large.

Tool Surface

ToolScopeUse it for
get_usage_guideAPI key onlyRead current operating guidance
get_tool_referenceAPI key onlyRead examples and optional schemas
get_credit_balanceAPI key onlyRead the current usable credit balance
search_newsnews:searchFind fresh articles and bylines
create_media_listmedia_lists:writeCreate a list from articles, URLs, keywords, or empty state
list_media_listsmedia_lists:readFind existing lists
get_media_listmedia_lists:readRead metadata, columns, settings, and optional rows
inspect_tablemedia_lists:readRead bounded previews or enrichment health
read_full_valuesmedia_lists:readRead exact values for a small row/column slice
preview_column_rendermedia_lists:readPreview formula, AI, send, or template-bearing columns
apply_table_actionmedia_lists:writeMutate columns, cells, rows, views, run state, and article imports
create_share_linkmedia_lists:writeCreate public read-only share links
delete_media_listmedia_lists:writeDelete a list after explicit user intent

Agent Operating Model

Media lists are workflow tables. The table is the deliverable.

Good agents follow this pattern:

  1. Call get_usage_guide.
  2. Search or list existing media lists.
  3. Create or select a list.
  4. Inspect the table before edits.
  5. Use returned IDs from tool responses.
  6. Preview template-bearing columns before applying them.
  7. Apply one focused table action at a time.
  8. Verify with get_media_list or inspect_table.
  9. Share only when the user asks for a public link.

Token-Efficient Reads

The MCP server is summary-first. Agents should start with compact/default reads, then ask for detail only when they need it.

NeedUse
Column IDs and namesget_media_list with default include_schema: false
Full column config, JSON schemas, prompts, or field mappingsget_media_list with include_schema: true
Visible rowsinspect_table row_window_preview with default compact cells
Exact raw valuesread_full_values for a small row/column slice
Progress pollinginspect_table enrichment_health with default detail: "summary"
Blocked row IDsinspect_table enrichment_health with detail: "compact"
Legacy/full diagnostic payloadscellDetail: "full" or detail: "full"

Compact cell previews drop repeated envelope fields such as workflowType, searchText, sortValue, version, and hasFullValue. Enrichment-health compact mode returns each blocker row-id set once under blockedRowSets so dependent columns can reference a rowSetId instead of repeating the same rows.

Fewer, better, evidence-backed

The agent should curate article results before creating rows. More rows are not automatically better. The goal is a focused list of journalists who actually cover the story.

Example Workflow

Ask your agent:

Search recent AI infrastructure coverage, create a media list from the best articles, add a Notes column, and share the list.

Expected sequence:

  1. get_usage_guide
  2. search_news
  3. create_media_list
  4. inspect_table
  5. get_tool_reference for apply_table_action
  6. apply_table_action with create_column
  7. apply_table_action with patch_cells if notes are known
  8. create_share_link after the user asks to share

Troubleshooting

SymptomWhat to check
401 UnauthorizedThe key is missing, malformed, revoked, or not sent on every request
403 ForbiddenThe key is valid but lacks the required scope or fails an IP allowlist
402 Payment RequiredCredits or usage limits block the operation
Validation errorsCall get_tool_reference for the failing tool
Stale IDsCall get_media_list or inspect_table again
Client cannot attach headersUse the mcp-remote stdio bridge

Agent Skill

For open-source agents, use a small bootstrap skill that tells the agent how to connect and when to call the runtime docs tools. Keep detailed schemas on the server.

Install the Medialyst MCP agent skill.