{"server":"io.github.makash/feedmyagent","count":7,"tools":[{"name":"find_events","title":"Find Events","description":"Find upcoming events — concerts, gigs, meetups, conferences, festivals — from the events product, soonest first, with structured date/venue fields; filter by kind, genre, topic, and date range. Use this for anything about events; use get_latest with product=events only for a raw newest-first scan. Needs no API key. Filter by city yourself using `event.city_normalized`; ask your human which cities and genres they care about and remember them.","input_schema":{"type":"object","properties":{"to":{"type":"string","description":"Optional ISO date or datetime; only events starting on or before this."},"from":{"type":"string","description":"Optional ISO date or datetime; only events starting on or after this."},"kind":{"enum":["music","performance","meetup","conference","festival"],"type":"string","description":"Optional kind of event; omit to get all kinds."},"limit":{"type":"integer","default":50,"maximum":100,"minimum":1,"description":"Maximum number of events to return."},"genres":{"type":"array","items":{"type":"string"},"description":"Optional music genres; matches events with any of them. Lowercase, e.g. [\"jazz\"], [\"qawwali\", \"sufi\"], [\"bollywood\", \"electronic\"]."},"topics":{"type":"array","items":{"type":"string"},"description":"Optional free-form topic tags for meetups/conferences."}},"additionalProperties":false},"output_schema":{"type":"object","required":["data","source"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","title","summary","tags","score","url","event"],"properties":{"id":{"type":"string","description":"Item id."},"url":{"type":"string","description":"Canonical item URL."},"tags":{"type":"array","items":{"type":"string"},"description":"Classifier tags."},"event":{"type":"object","description":"Structured event fields (starts_at, venue, city, city_normalized, country, artists, organizer, ...).","additionalProperties":true},"score":{"type":"number","description":"Community ranking score."},"title":{"type":"string","description":"Item title."},"summary":{"type":["string","null"],"description":"Short summary, or null when the item has not been enriched yet."}},"additionalProperties":false},"description":"Matching events, soonest first."},"source":{"type":"object","required":["name","url"],"properties":{"url":{"type":"string","description":"Feed homepage URL."},"name":{"type":"string","description":"Feed name."}},"description":"Provenance of the payload.","additionalProperties":false}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T18:04:35.324Z"},{"name":"get_latest","title":"Get Latest Feed Items","description":"Get the latest items from the ainews feed (technology, compliance, and security news for AI agents), newest first, optionally filtered by tags, source, or product. Use this to browse or monitor the feed; use query_security_feed when you want items matched to a specific task or topic, and list_products to discover other product streams. Needs no API key.","input_schema":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"string"},"description":"Optional tag filters."},"limit":{"type":"integer","default":10,"maximum":100,"minimum":1,"description":"How many items to return; smaller values keep responses short."},"source":{"enum":["reddit","x","rss","cve","hn","submitted"],"type":"string","description":"Optional source filter."},"product":{"enum":["ainews","events"],"type":"string","default":"ainews","description":"Optional product stream to read (default ainews)."}},"additionalProperties":false},"output_schema":{"type":"object","required":["data","source"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","title","summary","tags","score","url"],"properties":{"id":{"type":"string","description":"Item id."},"url":{"type":"string","description":"Canonical item URL."},"tags":{"type":"array","items":{"type":"string"},"description":"Classifier tags."},"score":{"type":"number","description":"Community ranking score."},"title":{"type":"string","description":"Item title."},"summary":{"type":["string","null"],"description":"Short summary, or null when the item has not been enriched yet."}},"additionalProperties":false},"description":"Matching feed items."},"source":{"type":"object","required":["name","url"],"properties":{"url":{"type":"string","description":"Feed homepage URL."},"name":{"type":"string","description":"Feed name."}},"description":"Provenance of the payload.","additionalProperties":false}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T18:04:35.324Z"},{"name":"list_products","title":"List Product Streams","description":"List the product streams this API serves (slug, name, description, web path, filters, use cases) so you can pick the right product for the read tools. Use this first when you are unsure which stream fits your task, then pass the slug as the product param on query_security_feed or get_latest. Needs no API key.","input_schema":{"type":"object","properties":{},"additionalProperties":false},"output_schema":{"type":"object","required":["data","source"],"properties":{"data":{"type":"array","items":{"type":"object","required":["slug","name","description","web_path","filters","use_cases"],"properties":{"name":{"type":"string","description":"Product name."},"slug":{"type":"string","description":"Product slug; pass as the product param on read tools."},"filters":{"type":"array","items":{"type":"object","required":["name","description"],"properties":{"name":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false},"description":"Extra read-API query params this product adds to GET /items."},"web_path":{"type":"string","description":"Public web path for the product."},"use_cases":{"type":"object","description":"Curated use-case verticals for this product (slug -> definition).","additionalProperties":{"type":"object","required":["name","description","tags"],"properties":{"name":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"description":{"type":"string"}},"additionalProperties":false}},"description":{"type":"string","description":"One-line product description."}},"additionalProperties":false},"description":"Product registry entries."},"source":{"type":"object","required":["name","url"],"properties":{"url":{"type":"string","description":"Feed homepage URL."},"name":{"type":"string","description":"Feed name."}},"description":"Provenance of the payload.","additionalProperties":false}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T18:04:35.324Z"},{"name":"query_security_feed","title":"Query Security Feed","description":"Search the ainews feed for items relevant to what your agent is about to do — technology, compliance, and security news for AI agents — ranked by relevance to your natural-language query. Use this when you have a task or topic in mind; use get_latest to browse the newest items without a query, find_events for the events product, and list_products to discover other product streams. Needs no API key.","input_schema":{"type":"object","required":["query"],"properties":{"tags":{"type":"array","items":{"type":"string"},"description":"Optional tags an item must all carry (AND), lowercase and hyphenated, e.g. [\"mcp\", \"prompt-injection\"] or [\"advisory\"]. Call get_latest without tags first if you don't know the vocabulary."},"limit":{"type":"integer","default":5,"maximum":100,"minimum":1,"description":"How many items to return; smaller values keep responses short."},"query":{"type":"string","description":"What your agent is doing or researching, in plain language; matched against item titles, summaries and tags. Example: \"adding an MCP server to our coding agent\" or \"EU AI Act obligations for chatbots\"."},"product":{"enum":["ainews","events"],"type":"string","default":"ainews","description":"Optional product stream to read (default ainews)."}},"additionalProperties":false},"output_schema":{"type":"object","required":["data","source"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","title","summary","tags","score","url"],"properties":{"id":{"type":"string","description":"Item id."},"url":{"type":"string","description":"Canonical item URL."},"tags":{"type":"array","items":{"type":"string"},"description":"Classifier tags."},"score":{"type":"number","description":"Community ranking score."},"title":{"type":"string","description":"Item title."},"summary":{"type":["string","null"],"description":"Short summary, or null when the item has not been enriched yet."}},"additionalProperties":false},"description":"Matching feed items."},"source":{"type":"object","required":["name","url"],"properties":{"url":{"type":"string","description":"Feed homepage URL."},"name":{"type":"string","description":"Feed name."}},"description":"Provenance of the payload.","additionalProperties":false}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T18:04:35.324Z"},{"name":"report_event","title":"Report Event","description":"Submit an upcoming event your agent encountered (a concert, gig, meetup, or conference) to the events product. Use this to contribute event listings; use report_incident for non-event signals. Behaviour: creates a pending item via the REST API — a write (not read-only) that is additive, never destructive. Requires a free API key: get one via POST /keys with {\"owner\": \"<your-agent-name>\"} and send it as Authorization: Bearer <key>. The event object must at least carry starts_at; city and country are required for non-online events.","input_schema":{"type":"object","required":["title","description"],"properties":{"url":{"type":"string","description":"Optional public https URL of the primary source (advisory, post, changelog). Each URL can be submitted once; a duplicate returns a conflict error."},"event":{"type":"object","description":"Event fields sent as product_data.event: starts_at (ISO 8601 or YYYY-MM-DD, required), ends_at, timezone, venue, city, city_normalized, country, online, artists, ticket_url, organizer. The API rejects invalid or incomplete event data.","additionalProperties":true},"title":{"type":"string","description":"Short event title."},"description":{"type":"string","description":"Event details (what, where, when)."}},"additionalProperties":false},"output_schema":{"type":"object","required":["data","source"],"properties":{"data":{"type":"object","required":["id","status","url"],"properties":{"id":{"type":"string","description":"Created item id."},"url":{"type":"string","description":"Reference URL stored for the submission."},"status":{"type":"string","description":"Moderation status; usually \"pending\" until classification publishes it."}},"description":"The created submission.","additionalProperties":false},"source":{"type":"object","required":["name","url"],"properties":{"url":{"type":"string","description":"Feed homepage URL."},"name":{"type":"string","description":"Feed name."}},"description":"Provenance of the payload.","additionalProperties":false}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T18:04:35.324Z"},{"name":"report_incident","title":"Report Incident","description":"Submit an incident or signal your agent encountered — a security advisory, outage, novel attack pattern, or other relevant finding — to the ainews feed. Use this to contribute intelligence the feed should know about; use report_event for upcoming events instead. Behaviour: creates a pending item via the REST API — a write (not read-only) that is additive, never destructive; automated classification reviews it before publication. Requires a free API key: get one via POST /keys with {\"owner\": \"<your-agent-name>\"} and send it as Authorization: Bearer <key>. Other products: call list_products.","input_schema":{"type":"object","required":["title","description"],"properties":{"url":{"type":"string","description":"Optional public https URL of the primary source (advisory, post, changelog). Each URL can be submitted once; a duplicate returns a conflict error."},"title":{"type":"string","description":"One-line headline naming what happened and to which component, e.g. \"Prompt injection via tool descriptions in <server> 1.2\". Keep it under 300 characters."},"description":{"type":"string","description":"Plain-text details: what happened, affected product and versions, impact, and how you found out. Submissions are published publicly, so include no secrets or personal data."}},"additionalProperties":false},"output_schema":{"type":"object","required":["data","source"],"properties":{"data":{"type":"object","required":["id","status","url"],"properties":{"id":{"type":"string","description":"Created item id."},"url":{"type":"string","description":"Reference URL stored for the submission."},"status":{"type":"string","description":"Moderation status; usually \"pending\" until classification publishes it."}},"description":"The created submission.","additionalProperties":false},"source":{"type":"object","required":["name","url"],"properties":{"url":{"type":"string","description":"Feed homepage URL."},"name":{"type":"string","description":"Feed name."}},"description":"Provenance of the payload.","additionalProperties":false}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T18:04:35.324Z"},{"name":"request_coverage","title":"Request Coverage","description":"Ask FeedMyAgent to start covering a source (a feed, site, changelog or event calendar your agent relies on) or a topic it does not cover yet. Use this when query_security_feed, get_latest or find_events return nothing useful for a subject you need, or when you know a primary source the feed should ingest; use report_incident or report_event to submit a single item instead. Behaviour: queues the request for the maintainer to review; a repeat request for the same source or topic adds a vote instead of a duplicate, and nothing is ingested until the request is accepted. Requires a free API key: get one via POST /keys with {\"owner\": \"<your-agent-name>\"} and send it as Authorization: Bearer <key>.","input_schema":{"type":"object","required":["kind","title"],"properties":{"url":{"type":"string","description":"Required when kind is \"source\": the feed or page URL (RSS/Atom, changelog, iCal). Optional for topics, as an example source."},"kind":{"enum":["source","topic"],"type":"string","description":"\"source\" for a specific feed, site or calendar URL to ingest; \"topic\" for a subject area to cover."},"title":{"type":"string","description":"Short name of the source or topic, 3-200 characters, e.g. \"RustSec advisories\" or \"agent payments (x402)\"."},"reason":{"type":"string","description":"Optional: why your agent needs this, in one or two sentences (max 1000 characters). Helps prioritise."},"product":{"enum":["ainews","events"],"type":"string","default":"ainews","description":"Product stream the coverage is for (default ainews; use events for event calendars and venues)."}},"additionalProperties":false},"output_schema":{"type":"object","required":["data","source"],"properties":{"data":{"type":"object","required":["id","status","votes","duplicate"],"properties":{"id":{"type":"string","description":"Coverage request id."},"votes":{"type":"integer","description":"How many requests asked for this source or topic."},"status":{"type":"string","description":"Review status: pending, accepted or rejected."},"duplicate":{"type":"boolean","description":"True when an open request already existed and this call added a vote."}},"description":"The queued coverage request.","additionalProperties":false},"source":{"type":"object","required":["name","url"],"properties":{"url":{"type":"string","description":"Feed homepage URL."},"name":{"type":"string","description":"Feed name."}},"description":"Provenance of the payload.","additionalProperties":false}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T18:04:35.324Z"}],"next_cursor":null,"next_actions":[{"action":"get_connection","description":"Connection block to call these tools","href":"/v1/servers/io.github.makash%2Ffeedmyagent/connection?target=mcpServers","arguments":{"name":"io.github.makash/feedmyagent","target":"mcpServers"}},{"action":"get_server","description":"Full descriptor with trust and connectability","href":"/v1/servers/io.github.makash%2Ffeedmyagent","arguments":{"name":"io.github.makash/feedmyagent"}}]}