Castle MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.39.2Updated Nov 14, 2026

Investigate security events and manage the allow/deny lists an analyst acts on.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableSecurity & MonitoringData & Analytics

Overview

AI-generated overview

Hosted Castle server that lets an assistant investigate security events and manage the allow/deny lists an analyst acts on.

What you can do
  • Inspect the event schema to find filterable and groupable fields
  • Search and group security events such as logins, registrations and transactions by IP, device or country
  • Search, read and count allow/deny lists and their entries
  • Create and rename lists, and add, comment on, archive or restore list entries
  • Check monthly usage, request a missing feature, and upgrade or cancel a paid plan
When to use it
Useful when an analyst wants to ask questions about Castle security events in natural language, spot which IPs, devices or countries dominate a spike, or maintain blocked IP, email or device lists without leaving the chat.
Requirements
Remote MCP endpoint over streamable HTTP; no local install. Connect with the URL only and sign in through OAuth, pasting Castle credentials on first connect; they are stored per user. No API key or Authorization header goes in the client config.
Before you install
Write tools change live policy: adding a list entry can block an IP or email, and archiving an entry stops it matching. Confirm before any create, update, archive or unarchive. Paid plans cost money (Pro and Pro+ monthly or yearly, billed through a checkout link) and upgrades charge the price difference immediately; cancellation has no refund for the current period. Free tier is limited to 50 tool calls a month.

Installation

In SourceWeft

  1. Open Castle MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fcastle/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "castle-by-usefulapi": {
      "type": "http",
      "url": "https://castle.usefulapi.io/mcp"
    }
  }
}

README

Castle MCP by usefulapi

Investigate security events and manage the allow/deny lists an analyst acts on. Hosted, no local install.

Live endpoint: https://castle.usefulapi.io/mcp · Homepage: https://usefulapi.io

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://castle.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http castle https://castle.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "castle": {      "url": "https://castle.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Castle credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/castle/

On first connect you'll paste your Castle credentials. They are validated, stored per-user, and scoped to you — no keys in config files.

Tools

ToolTypeWhat it does
castle_get_events_schemareadGet the event schema
castle_search_eventsreadSearch security events
castle_group_eventsreadGroup security events
castle_search_listsreadSearch lists
castle_get_listreadGet one list
castle_search_list_itemsreadSearch items in a list
castle_count_list_itemsreadCount items in a list
castle_get_list_itemreadGet one list item
castle_create_listwriteCreate a list
castle_update_listwriteUpdate a list
castle_create_list_itemwriteAdd an item to a list
castle_update_list_itemwriteUpdate a list item's comment
castle_archive_list_itemwriteArchive a list item
castle_unarchive_list_itemwriteUnarchive a list item
castle_usage_statusmetaUsage status (free-tier meter)
castle_request_featuremetaRequest a missing feature
castle_upgrademetaUpgrade to Pro or Pro+
castle_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro$9/mo or $90/yr (2 months free)10,000 tool calls / month
Pro+$39/mo or $390/yr (2 months free)100,000 tool calls / month

Each paid plan covers this server only. Ask your AI to run castle_upgrade and choose Pro or Pro+, billed monthly or yearly (it returns a Stripe Checkout link). If you already have Pro, ask to change it to Pro+. The change requires your confirmation, keeps your billing interval and charges the price difference for the rest of the period immediately. Cancel any time with castle_cancel_subscription: your paid plan continues to the end of the paid period, with no refund for the current period, and asking to resume the same plan with castle_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT

Source: servers/castle/README.md at commit 3c1b3df

Tools

14

castle_get_events_schema

Get the event schema

List the event fields you can filter and group on, with their types. Read this first — the other query tools need real field names. Castle: GET /v1/events/schema.

Takes no parameters.

castle_search_events

Search security events

Query the security event stream — logins, registrations, transactions and their risk verdicts. Read-only despite being a POST: Castle takes the query in the body. Castle: POST /v1/events/query.

Parameterspagecolumnsfiltersrequiredquery_typeresults_size

castle_group_events

Group security events

Aggregate matching events by one or more fields — the fast way to see which IPs, devices or countries dominate a spike. Read-only despite being a POST. Castle: POST /v1/events/group.

Parameterspagefiltersrequiredresults_sizegroup_by_fieldsrequired

castle_search_lists

Search lists

Find the allow/deny lists defined in the environment. Read-only despite being a POST. Castle: POST /v1/lists/query.

Parameterspagefiltersresults_size

castle_get_list

Get one list

Fetch a single list with its primary and secondary field definitions. Castle: GET /v1/lists/{id}.

Parameterslist_idrequired

castle_search_list_items

Search items in a list

Search the entries of one list — the blocked IPs, emails or device ids it holds. Read-only despite being a POST. Castle: POST /v1/lists/{list_id}/items/query.

Parameterspagefilterslist_idrequiredresults_size

castle_count_list_items

Count items in a list

Count the entries in one list, with the same optional filters as the search. Read-only despite being a POST. Castle: POST /v1/lists/{list_id}/items/count.

Parametersfilterslist_idrequired

castle_get_list_item

Get one list item

Fetch a single list entry — its value, who added it, the comment and its archive time. Castle: GET /v1/lists/{list_id}/items/{id}.

Parametersitem_idrequiredlist_idrequired

castle_create_list

Create a list

Create a new allow or deny list. primary_field is the event field its entries match on, e.g. ip or user.email. Castle: POST /v1/lists.

Parametersnamerequiredcolorrequireddescriptionprimary_fieldrequiredsecondary_field

castle_update_list

Update a list

Rename a list or change its colour or description. Castle: PUT /v1/lists/{id}.

Parametersnamecolorlist_idrequireddescription

castle_create_list_item

Add an item to a list

Add an entry to a list — for example block an IP or an email. This changes live policy behaviour. Castle: POST /v1/lists/{list_id}/items.

Parameterscommentlist_idrequiredauthor_typerequiredprimary_valuerequiredsecondary_valueauto_archives_atauthor_identifierrequired

castle_update_list_item

Update a list item's comment

Change the comment on a list entry. Castle: PUT /v1/lists/{list_id}/items/{id}.

Parameterscommentrequireditem_idrequiredlist_idrequired

castle_archive_list_item

Archive a list item

Archive a list entry so it stops matching. Reversible with castle_unarchive_list_item. Castle: DELETE /v1/lists/{list_id}/items/{id}/archive.

Parametersitem_idrequiredlist_idrequired

castle_unarchive_list_item

Unarchive a list item

Restore a previously archived list entry so it matches again. Castle: PUT /v1/lists/{list_id}/items/{id}/unarchive.

Parametersitem_idrequiredlist_idrequired

Version history

26
  1. v1.39.2LatestNov 14, 2026
  2. v1.39.1Nov 13, 2026
  3. v1.38.0Nov 12, 2026
  4. v1.37.3Nov 11, 2026
  5. v1.36.5Nov 8, 2026
  6. v1.36.4Nov 7, 2026
  7. v1.35.3Nov 5, 2026
  8. v1.35.2Nov 5, 2026
  9. v1.35.1Nov 4, 2026
  10. v1.35.0Nov 3, 2026
  11. v1.34.1Nov 3, 2026
  12. v1.33.0Nov 1, 2026
  13. v1.31.0Oct 31, 2026
  14. v1.30.0Oct 31, 2026
  15. v1.29.2Oct 30, 2026
  16. v1.29.0Oct 30, 2026
  17. v1.24.0Oct 26, 2026
  18. v1.21.3Oct 25, 2026
  19. v1.21.0Oct 25, 2026
  20. v1.20.0Oct 24, 2026
  21. v1.17.0Oct 23, 2026
  22. v1.16.4Oct 22, 2026
  23. v1.16.3Oct 21, 2026
  24. v1.11.1Oct 9, 2026
  25. v1.10.0Oct 9, 2026
  26. v1.0.0Sep 29, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations