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.
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
Hosted Castle server that lets an assistant investigate security events and manage the allow/deny lists an analyst acts on.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
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.Add this to your client's mcpServers config.
{
"mcpServers": {
"castle-by-usefulapi": {
"type": "http",
"url": "https://castle.usefulapi.io/mcp"
}
}
}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
https://castle.usefulapi.io/mcp.claude mcp add --transport http castle https://castle.usefulapi.io/mcp, then run /mcp to log in.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.
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.
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].
MIT
Source: servers/castle/README.md at commit 3c1b3df
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.
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.
pagecolumnsfiltersrequiredquery_typeresults_sizeGroup 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.
pagefiltersrequiredresults_sizegroup_by_fieldsrequiredSearch lists
Find the allow/deny lists defined in the environment. Read-only despite being a POST. Castle: POST /v1/lists/query.
pagefiltersresults_sizeGet one list
Fetch a single list with its primary and secondary field definitions. Castle: GET /v1/lists/{id}.
list_idrequiredSearch 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.
pagefilterslist_idrequiredresults_sizeCount 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.
filterslist_idrequiredGet 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}.
item_idrequiredlist_idrequiredCreate 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.
namerequiredcolorrequireddescriptionprimary_fieldrequiredsecondary_fieldUpdate a list
Rename a list or change its colour or description. Castle: PUT /v1/lists/{id}.
namecolorlist_idrequireddescriptionAdd 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.
commentlist_idrequiredauthor_typerequiredprimary_valuerequiredsecondary_valueauto_archives_atauthor_identifierrequiredUpdate a list item's comment
Change the comment on a list entry. Castle: PUT /v1/lists/{list_id}/items/{id}.
commentrequireditem_idrequiredlist_idrequiredArchive 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.
item_idrequiredlist_idrequiredUnarchive a list item
Restore a previously archived list entry so it matches again. Castle: PUT /v1/lists/{list_id}/items/{id}/unarchive.
item_idrequiredlist_idrequired100% 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.
io.usefulapiOfficial publisher
Hosted MCP server for Ably that lets an assistant inspect realtime channels, presence and usage stats, publish messages, and review app configuration.
io.usefulapiOfficial publisher
Read-only access to ROLLER venue data: search bookings, check product availability, and look up guests, waivers, gift cards and daily reports.
io.usefulapiOfficial publisher
Hosted Planerio connector that lets an assistant read shifts, staffing requirements, staff, employees, absences and vacation days.
io.usefulapiOfficial publisher
Read-only access to Marmin UAE e-invoicing data: invoices, credit notes, UBL XML, Peppol status and business profiles.
io.usefulapiOfficial publisher
Remote MCP server for Oyster that lets an assistant read team, time off, expense, contract and invoice data and approve or decline requests.
{ "mcpServers": { "castle": { "url": "https://castle.usefulapi.io/mcp" } }}