Medialyst MCP
Medialyst exposes a remote MCP server for agents that need a small set of public REST-backed research tools:
https://medialyst.ai/api/mcpEach MCP tool is a thin shim over a public /api/v1/* REST endpoint. Tool
results, auth failures, quota errors, and response shapes match the public API.
API key auth
Use a Medialyst API key for MCP tool calls. OAuth discovery and consent still exist for compatible clients, but the slim MCP tool surface calls the public REST API, which currently requires API-key authentication.
Required Scopes
| Scope | Needed for |
|---|---|
news:search | Searching recent news coverage |
media_lists:manage | Enriching journalists and polling enrichment jobs |
Connect Your Agent
Create an API key from Developers, store it in secret storage or an environment variable, and send it as a bearer token:
Authorization: Bearer <YOUR_API_KEY>Clients without custom headers
If a client cannot attach an Authorization header, pass the key on the URL as ?api_key=<YOUR_API_KEY>. The server strips the query parameter and treats it as the same bearer token.
Claude Code
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:
/mcpClaude.ai Custom Connector
Claude.ai custom connectors do not expose custom HTTP headers in the setup UI. Pass the key on the URL:
https://medialyst.ai/api/mcp?api_key=<YOUR_API_KEY>Protect connector URLs
Because the API key is in the connector URL, it may be logged in plain text by intermediate proxies, CDNs, or server access logs. Use a dedicated API key with the minimum required scopes. If the key is exposed, revoke and rotate it from Developers.
Claude Desktop
{
"mcpServers": {
"medialyst": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://medialyst.ai/api/mcp",
"--header",
"Authorization: ${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer <YOUR_API_KEY>"
}
}
}
}Cursor
{
"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 .Codex
[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 listOther Clients
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.
Tool Surface
| MCP tool | Public REST endpoint | Scope |
|---|---|---|
get_credit_balance | GET /api/v1/credits/balance | API key |
search_news | POST /api/v1/news/search | news:search |
enrich_journalists | POST /api/v1/journalists/enrich | media_lists:manage |
get_journalist_enrichment_job | GET /api/v1/journalist-enrichment-jobs/:jobId | media_lists:manage |
Only these four tools are exposed. Media-list workflow creation, workflow row reads, and share-link creation stay in the public REST API and Medialyst app, but are not part of the MCP tool surface.
Example Workflows
Ask your agent:
Search recent AI agents coverage and find 5 journalists I should pitch on a related angle.Expected sequence:
get_credit_balancesearch_newswith a specific recency windowenrich_journalistswith selected article URLs andfit_context.pitchget_journalist_enrichment_jobuntil the job is complete or failed
Notes
search_newsreturns up to 10 results per call. Usepage: 2,page: 3, and so on for deeper coverage. Do not use the deprecatednumparameter.enrich_journalistsis async-only and returns a job id immediately. It acceptsarticle_urlsources today.fit_context.pitchreturns scored journalist research and personalized angle output when available.options.waitandoptions.timeout_msonenrich_journalistsare deprecated compatibility no-ops. Pollget_journalist_enrichment_jobinstead.- Public v1 has no send endpoint. Review and sending stay in the Medialyst app.
Troubleshooting
| Symptom | What to check |
|---|---|
401 Unauthorized | Missing, expired, or revoked API key. Verify the bearer header or api_key query fallback. |
403 Forbidden | The key is valid but lacks the required scope. |
402 Payment Required | Credits or usage limits block the operation. |
| Fewer tools visible than expected | Ask your client to refresh or search MCP tools by name. The current public surface has four tools. |
| Validation errors | Match the tool input to the corresponding public REST endpoint schema. |
Agent Skill
For open-source agents, use a small bootstrap skill that tells the agent how to connect and which REST-backed tools to call. Keep detailed schemas on the server.