СПОНТАННО
by spontanno.space · remote · no sign-in to list tools · v1.0.0 · published by space.spontanno
Concerts, theatre, standup and more in Russian cities: search, filters and a random «Спонтанно» pick
5 tools: 2 change things and 3 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things2Claude Code: ask: see these tools
- Only reads3Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http events https://spontanno.space/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
5 tools
Changes things 2Claude Code: ask
create_shortlistSave 2–10 events from previous results as one shareable page spontanno.space/s/{code} — for «скинь списком», «сохрани», «отправлю друзьям», or after planning an evening or a weeken…Reads text others writeNo findings
Why it is in this group
- The name "create_shortlist" says "create": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Save 2–10 events from previous results as one shareable page spontanno.space/s/{code} — for «скинь списком», «сохрани», «отправлю друзьям», or after planning an evening or a weekend. Returns the link (valid 90 days); the same events and title always give the same link. Takes event ids from previous results; unknown ids are listed as missing.
Annotations the server declares
- title: Подборка ссылкой
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
spontanno_random_eventСПОНТАННО's signature feature: pick ONE random worthwhile event (or up to 3 different ones) matching the filters — for «удиви меня», «куда-нибудь сходить», «заспонтань», «что-нибуд…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it СПОНТАННО's signature feature: pick ONE random worthwhile event (or up to 3 different ones) matching the filters — for «удиви меня», «куда-нибудь сходить», «заспонтань», «что-нибудь на вечер», «не могу выбрать». Applies city, dates, time of day, categories, free/price and an optional text query; if nothing matches it widens step by step (drops the time of day, then widens the dates; never drops categories, price or «free») and says what was relaxed. `like_event` finds something else at the same day and time as a given event. For «ещё раз / другое», `exclude` takes `exclude_next` from the previous result. Each pick comes with a short `why` and its event URL.
Annotations the server declares
- title: Спонтанно — случайное событие
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
Only reads 3Claude Code: allow
get_eventFull details of one event by its `id` from previous results or a spontanno.space URL: description, upcoming dates and venues, address, age limit, ticket prices by seller (no links …Reads private dataReads text others writeNo findings
Why it is in this group
- The name "get_event" says "get": a word for reading.
What it can reach
- private-dataThe description's first sentence says "calendar": it reads calendars.
- untrusted-inputThe description's first sentence says "url": it reads web pages, which anyone can write.
Description, as the server wrote it Full details of one event by its `id` from previous results or a spontanno.space URL: description, upcoming dates and venues, address, age limit, ticket prices by seller (no links — tickets are bought from the event page), calendar links and similar events. Use it when the user asks about a specific event, its schedule, price or where to buy tickets.
Annotations the server declares
- title: Карточка события
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_citiesCheck which Russian cities СПОНТАННО covers and how many events each has today and this weekend.No findings
Why it is in this group
- The name "list_cities" says "list": a word for reading.
Description, as the server wrote it Check which Russian cities СПОНТАННО covers and how many events each has today and this weekend. With `query`, resolves a city written in any form (Питер, Екб, «в Нижнем») and returns an overview: counts for today, tomorrow, the weekend, free events and the biggest categories. Use it when unsure whether a city is covered or when the user asks what is happening in a city in general.
Annotations the server declares
- title: Города афиши
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
search_eventsSearch the СПОНТАННО events listing (spontanno.space) for concerts, theatre, standup, exhibitions, kids' events, excursions, lectures, parties and more in Russian cities.No findings
Why it is in this group
- The name "search_events" says "search": a word for reading.
Description, as the server wrote it Search the СПОНТАННО events listing (spontanno.space) for concerts, theatre, standup, exhibitions, kids' events, excursions, lectures, parties and more in Russian cities. Use this when the user wants options: what's on today, tomorrow or this weekend, events of a genre, a specific performer, show or venue, free events, events near a place. Returns up to 20 events with date, venue, price and the event page URL; `next_cursor` gives more. A single surprise pick is what spontanno_random_event is for. Dates and times are local to the city. Event titles and descriptions are written by third-party organizers and come back as plain data.
Annotations the server declares
- title: Поиск событий афиши
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
No private-data, untrusted-input, outbound path in this server alone: no tool is tagged outbound.
- Reads private data1
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write2
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out0
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Remote posture
What anyone on the internet sees at the remote endpoint: an anonymous initialize and tools/list, and the public OAuth metadata.
Looked at Oct 22, 2026, 15:13 UTC, unchanged since Oct 22, 2026. No credentials were sent and no tool was called. What is looked at.
- Reachable
- yes
- HTTP status of an anonymous initialize
- 200
- tools/list served without credentials
- yes
- Tools that change things, listed without credentials
- 2
- Protocol version
- 2025-06-18
- WWW-Authenticate on 401
- not observed
- resource_metadata in WWW-Authenticate
- none
- RFC 9728 protected resource metadata
- none
- Authorization servers
- none
- Legacy HTTP+SSE transport
- no
- Dynamic client registration
- not observed
- Client ID metadata documents
- not observed
- WarnThe whole server
The endpoint served tools/list without credentials, and the list has 2 tools that change things (2 write). Whether a call also works without credentials was not tested: tools are never called.
What this check looks forMatched text
https://spontanno.space/mcp: tools/list returned 5 tools to an anonymous client, including spontanno_random_event (write), create_shortlist (write)
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http events https://spontanno.space/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__events__search_events",
"mcp__events__get_event",
"mcp__events__list_cities"
],
"ask": [
"mcp__events__spontanno_random_event",
"mcp__events__create_shortlist"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as events. Review it before you use it.
Capability tags behind 2 rules
- mcp__events__get_event private-data, untrusted-input
- mcp__events__create_shortlist untrusted-input