المراسل

The claim is checked.A human approves.

Morassel breaks the claim down and gathers evidence in an Arabic workspace. The model does not declare the truth on its own, and no card is published before a named human reviewer approves it.

  • Break down the claim
  • Record evidence and sources
  • Human approval before publishing

The reviewer decides

There are no delete tools, and the audit log does not store content.
  • 13 MCP tools
  • Mandatory human approval
  • Arabic interface
  • Audit log

The model assists.The reviewer decides.

  • Break down the claim
  • Record evidence and sources
  • Human approval before publishing

There are no delete tools, and the audit log does not store content.

Structured verificationinstead of an automated verdict.

A clear workflow from the claim to an approved card.

Break down the claim

Split the claim into checkable parts before gathering evidence.

Evidence and sources

Record evidence and its sources as reviewable metadata.

Human approval

The card is published only with a named reviewer's approval.

How it works.

  1. Connect an MCP client

    Use the service URL and your key.

  2. Send the claim

    Paste the claim or the link to check.

  3. Review and approve

    The human reviewer decides before anything is published.

Connect

Transport
Streamable HTTP
URL
https://morassel-mcp.marsaplatform.com/mcp
Authorization
Bearer YOUR_API_KEY

Every request needs Authorization: Bearer YOUR_API_KEY or X-API-Key: YOUR_API_KEY.

URLhttps://morassel-mcp.marsaplatform.com/mcp
Claude Code (CLI)
Terminal
claude mcp add --transport http morassel https://morassel-mcp.marsaplatform.com/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"
Cursor ~/.cursor/mcp.json
mcp.json
{
  "mcpServers": {
    "morassel": {
      "url": "https://morassel-mcp.marsaplatform.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}
VS Code .vscode/mcp.json
mcp.json
{
  "servers": {
    "morassel": {
      "type": "http",
      "url": "https://morassel-mcp.marsaplatform.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:morassel-key}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "morassel-key",
      "description": "\u0627\u0644\u0645\u0631\u0627\u0633\u0644 API key",
      "password": true
    }
  ]
}

VS Code asks for the key once and stores it securely.

Claude Desktop claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "morassel": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://morassel-mcp.marsaplatform.com/mcp",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Claude Desktop reaches remote servers through mcp-remote, which needs Node.js. Restart the app after editing.

Quick test with curl
Terminal
curl -s -X POST https://morassel-mcp.marsaplatform.com/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"test","version":"1"}}}'

With a valid key you get the initialize result. Without a key you get 401.

Tools

The original page states: “13 MCP tools”. The full list is generated from tools/list once a read key is configured for this site; until then any MCP client shows it after you connect.

FAQ

Does AI decide whether the news is true?

No. It helps organise; the decision belongs to a human reviewer.

Is content text kept in the logs?

The audit log does not store content or reviewer notes.

Can a card be deleted?

There are no delete tools in the current version.

401 Unauthorized

The real response for a request without a key:

HTTP/2 401 · application/json
WWW-Authenticate: Bearer realm="morassel"

{"error":"unauthorized","message":"Missing bearer token - send Authorization: Bearer <key> or X-API-Key"}

Send the header exactly as Authorization: Bearer YOUR_API_KEY or X-API-Key: YOUR_API_KEY.