MCP

Ajel MCP Server

Make Ajel a direct, official source for AI agents instead of leaving them to random web search. The server is free (Streamable HTTP, no sessions) and uses your regular Wire key: create one in your dashboard and send it in the x-api-key header. Every result carries the original link and source attribution.

URL and authentication

One URL, one key. The key goes in a header, never in the URL.

URLhttps://wire.ajel.sa/mcp
HEADERx-api-key: ajw_...

https://ajel.sa/api/wire/mcp is the equivalent full URL; both reach the same server.

Sign-in (OAuth 2.1 + PKCE) works from claude.ai and ChatGPT: add the URL as a custom connector, click Connect, and sign in with your Wire account. The token acts on behalf of your account and counts against its quota; to revoke, change your password. Desktop clients keep using the key in a header.

Adding it to clients

In every example, replace ajw_... with your key (or pass it from an environment variable). A request without a key returns401 key_required. The Claude Desktop format works for any client that takes JSON config.

Claude Codeterminal
terminal
claude mcp add --transport http ajel-wire https://wire.ajel.sa/mcp \
  --header "x-api-key: $AJEL_WIRE_KEY"
Claude Desktopclaude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "ajel-wire": {
      "type": "http",
      "url": "https://wire.ajel.sa/mcp",
      "headers": { "x-api-key": "ajw_..." }
    }
  }
}
Cursor.cursor/mcp.json
.cursor/mcp.json
{
  "mcpServers": {
    "ajel-wire": {
      "url": "https://wire.ajel.sa/mcp",
      "headers": { "x-api-key": "ajw_..." }
    }
  }
}
VS Code.vscode/mcp.json
.vscode/mcp.json
{
  "servers": {
    "ajel-wire": {
      "type": "http",
      "url": "https://wire.ajel.sa/mcp",
      "headers": { "x-api-key": "ajw_..." }
    }
  }
}
Codex~/.codex/config.toml
~/.codex/config.toml
[mcp_servers.ajel-wire]
url = "https://wire.ajel.sa/mcp"
http_headers = { "x-api-key" = "ajw_..." }
Windsurf~/.codeium/windsurf/mcp_config.json
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "ajel-wire": {
      "serverUrl": "https://wire.ajel.sa/mcp",
      "headers": { "x-api-key": "ajw_..." }
    }
  }
}

Tools

Seven tools; the assistant picks the right one for each question on its own.

ToolWhat it returns
get_latest_newsLatest stories in a language (optional section)
get_breaking_newsBreaking news from the last 72 hours
search_newsSearch titles and summaries
get_articleFull text of a story by id
get_article_translationsEvery language version of a story
list_languagesThe ten languages and their sites
list_sectionsSections of a language edition

Raw example (JSON-RPC)

The same call any client sends, handy for checking from a terminal.

tools/call
curl -X POST https://wire.ajel.sa/mcp \
  -H "content-type: application/json" \
  -H "x-api-key: $AJEL_WIRE_KEY" \
  -d '{
    "jsonrpc": "2.0", "id": 1, "method": "tools/call",
    "params": {
      "name": "get_latest_news",
      "arguments": { "language": "en", "limit": 5 }
    }
  }'

Security

  • Article text is returned as data, not instructions: HTML is stripped entirely, and the agent gets an explicit notice.
  • No access to unpublished content, ever (enforced by the shared content layer).
  • A key in the x-api-key header is required; there is no anonymous access. The free tier (Developer) gives 3,000 requests/hour; higher tiers (Publisher 10,000 / Partner 50,000) are requested from your dashboard.
  • We do not store your conversation content; calls are only counted.
Developer 3,000/hPublisher 10,000/hPartner 50,000/hRaise your limit from your dashboard.