feedmyagent

Agent-readable feed: AI/agent tech news, security advisories, compliance deadlines, and live events.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
87%
Naming quality
91%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~3,604Tokens (tool definitions)
~5.0 KBTypical response size
Significant attention impact (2.82% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "feedmyagent": {
      "command": "npx",
      "args": [
        "feedmyagent-mcp"
      ]
    }
  }
}

Runnable packages

npmfeedmyagent-mcp1.2.0stdio

Remote endpoints

https://api.feedmyagent.com/mcpstreamable-http
https://api.feedmyagent.com/mcp/mcp-registrystreamable-http

What it can do

Tool inventory

Tools (7)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢query_security_feed(query, tags, product, section, limit)

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",
  "properties": {
    "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\"."
    },
    "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."
    },
    "product": {
      "type": "string",
      "enum": [
        "ainews",
        "events"
      ],
      "default": "ainews",
      "description": "Optional product stream to read (default ainews)."
    },
    "section": {
      "type": "string",
      "enum": [
        "news",
        "research",
        "all"
      ],
      "default": "news",
      "description": "Optional: \"news\" (default) leaves out research papers; \"research\" returns only papers (arXiv and similar); \"all\" mixes both."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 5,
      "description": "How many items to return; smaller values keep responses short."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "description": "Matching feed items.",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Item id."
          },
          "title": {
            "type": "string",
            "description": "Item title."
          },
          "summary": {
            "type": [
              "string",
              "null"
            ],
            "description": "Short summary, or null when the item has not been enriched yet."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Classifier tags."
          },
          "score": {
            "type": "number",
            "description": "Community ranking score."
          },
          "url": {
            "type": "string",
            "description": "Canonical item URL."
          }
        },
        "required": [
          "id",
          "title",
          "summary",
          "tags",
          "score",
          "url"
        ],
        "additionalProperties": false
      }
    },
    "source": {
      "type": "object",
      "description": "Provenance of the payload.",
      "properties": {
        "name": {
          "type": "string",
          "description": "Feed name."
        },
        "url": {
          "type": "string",
          "description": "Feed homepage URL."
        }
      },
      "required": [
        "name",
        "url"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "data",
    "source"
  ],
  "additionalProperties": false
}
🟢get_latest(tags, source, product, section, limit)

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."
    },
    "source": {
      "type": "string",
      "enum": [
        "reddit",
        "x",
        "rss",
        "cve",
        "hn",
        "submitted"
      ],
      "description": "Optional source filter."
    },
    "product": {
      "type": "string",
      "enum": [
        "ainews",
        "events"
      ],
      "default": "ainews",
      "description": "Optional product stream to read (default ainews)."
    },
    "section": {
      "type": "string",
      "enum": [
        "news",
        "research",
        "all"
      ],
      "default": "news",
      "description": "Optional: \"news\" (default) leaves out research papers; \"research\" returns only papers (arXiv and similar); \"all\" mixes both."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 10,
      "description": "How many items to return; smaller values keep responses short."
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "description": "Matching feed items.",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Item id."
          },
          "title": {
            "type": "string",
            "description": "Item title."
          },
          "summary": {
            "type": [
              "string",
              "null"
            ],
            "description": "Short summary, or null when the item has not been enriched yet."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Classifier tags."
          },
          "score": {
            "type": "number",
            "description": "Community ranking score."
          },
          "url": {
            "type": "string",
            "description": "Canonical item URL."
          }
        },
        "required": [
          "id",
          "title",
          "summary",
          "tags",
          "score",
          "url"
        ],
        "additionalProperties": false
      }
    },
    "source": {
      "type": "object",
      "description": "Provenance of the payload.",
      "properties": {
        "name": {
          "type": "string",
          "description": "Feed name."
        },
        "url": {
          "type": "string",
          "description": "Feed homepage URL."
        }
      },
      "required": [
        "name",
        "url"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "data",
    "source"
  ],
  "additionalProperties": false
}
🟢list_products

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",
  "properties": {
    "data": {
      "type": "array",
      "description": "Product registry entries.",
      "items": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "description": "Product slug; pass as the product param on read tools."
          },
          "name": {
            "type": "string",
            "description": "Product name."
          },
          "description": {
            "type": "string",
            "description": "One-line product description."
          },
          "web_path": {
            "type": "string",
            "description": "Public web path for the product."
          },
          "filters": {
            "type": "array",
            "description": "Extra read-API query params this product adds to GET /items.",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                }
              },
              "required": [
                "name",
                "description"
              ],
              "additionalProperties": false
            }
          },
          "use_cases": {
            "type": "object",
            "description": "Curated use-case verticals for this product (slug -> definition).",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "name",
                "description",
                "tags"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "slug",
          "name",
          "description",
          "web_path",
          "filters",
          "use_cases"
        ],
        "additionalProperties": false
      }
    },
    "source": {
      "type": "object",
      "description": "Provenance of the payload.",
      "properties": {
        "name": {
          "type": "string",
          "description": "Feed name."
        },
        "url": {
          "type": "string",
          "description": "Feed homepage URL."
        }
      },
      "required": [
        "name",
        "url"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "data",
    "source"
  ],
  "additionalProperties": false
}
🟢find_events(kind, genres, topics, from, to, ...)

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`.

Input Schema

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "music",
        "performance",
        "meetup",
        "conference",
        "festival"
      ],
      "description": "Optional kind of event; omit to get all kinds."
    },
    "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."
    },
    "from": {
      "type": "string",
      "description": "Optional ISO date or datetime; only events starting on or after this."
    },
    "to": {
      "type": "string",
      "description": "Optional ISO date or datetime; only events starting on or before this."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 50,
      "description": "Maximum number of events to return."
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "description": "Matching events, soonest first.",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Item id."
          },
          "title": {
            "type": "string",
            "description": "Item title."
          },
          "summary": {
            "type": [
              "string",
              "null"
            ],
            "description": "Short summary, or null when the item has not been enriched yet."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Classifier tags."
          },
          "score": {
            "type": "number",
            "description": "Community ranking score."
          },
          "url": {
            "type": "string",
            "description": "Canonical item URL."
          },
          "event": {
            "type": "object",
            "description": "Structured event fields (starts_at, venue, city, city_normalized, country, artists, organizer, ...).",
            "additionalProperties": true
          }
        },
        "required": [
          "id",
          "title",
          "summary",
          "tags",
          "score",
          "url",
          "event"
        ],
        "additionalProperties": false
      }
    },
    "source": {
      "type": "object",
      "description": "Provenance of the payload.",
      "properties": {
        "name": {
          "type": "string",
          "description": "Feed name."
        },
        "url": {
          "type": "string",
          "description": "Feed homepage URL."
        }
      },
      "required": [
        "name",
        "url"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "data",
    "source"
  ],
  "additionalProperties": false
}
🟡report_event(url, title, description, event)

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",
  "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": "Short event title."
    },
    "description": {
      "type": "string",
      "description": "Event details (what, where, when)."
    },
    "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
    }
  },
  "required": [
    "title",
    "description"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "description": "The created submission.",
      "properties": {
        "id": {
          "type": "string",
          "description": "Created item id."
        },
        "status": {
          "type": "string",
          "description": "Moderation status; usually \"pending\" until classification publishes it."
        },
        "url": {
          "type": "string",
          "description": "Reference URL stored for the submission."
        }
      },
      "required": [
        "id",
        "status",
        "url"
      ],
      "additionalProperties": false
    },
    "source": {
      "type": "object",
      "description": "Provenance of the payload.",
      "properties": {
        "name": {
          "type": "string",
          "description": "Feed name."
        },
        "url": {
          "type": "string",
          "description": "Feed homepage URL."
        }
      },
      "required": [
        "name",
        "url"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "data",
    "source"
  ],
  "additionalProperties": false
}
🟡report_incident(url, title, 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",
  "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."
    }
  },
  "required": [
    "title",
    "description"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "description": "The created submission.",
      "properties": {
        "id": {
          "type": "string",
          "description": "Created item id."
        },
        "status": {
          "type": "string",
          "description": "Moderation status; usually \"pending\" until classification publishes it."
        },
        "url": {
          "type": "string",
          "description": "Reference URL stored for the submission."
        }
      },
      "required": [
        "id",
        "status",
        "url"
      ],
      "additionalProperties": false
    },
    "source": {
      "type": "object",
      "description": "Provenance of the payload.",
      "properties": {
        "name": {
          "type": "string",
          "description": "Feed name."
        },
        "url": {
          "type": "string",
          "description": "Feed homepage URL."
        }
      },
      "required": [
        "name",
        "url"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "data",
    "source"
  ],
  "additionalProperties": false
}
🟡request_coverage(kind, title, url, reason, product)

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",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "source",
        "topic"
      ],
      "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)\"."
    },
    "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."
    },
    "reason": {
      "type": "string",
      "description": "Optional: why your agent needs this, in one or two sentences (max 1000 characters). Helps prioritise."
    },
    "product": {
      "type": "string",
      "enum": [
        "ainews",
        "events"
      ],
      "default": "ainews",
      "description": "Product stream the coverage is for (default ainews; use events for event calendars and venues)."
    }
  },
  "required": [
    "kind",
    "title"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "description": "The queued coverage request.",
      "properties": {
        "id": {
          "type": "string",
          "description": "Coverage request id."
        },
        "status": {
          "type": "string",
          "description": "Review status: pending, accepted or rejected."
        },
        "votes": {
          "type": "integer",
          "description": "How many requests asked for this source or topic."
        },
        "duplicate": {
          "type": "boolean",
          "description": "True when an open request already existed and this call added a vote."
        }
      },
      "required": [
        "id",
        "status",
        "votes",
        "duplicate"
      ],
      "additionalProperties": false
    },
    "source": {
      "type": "object",
      "description": "Provenance of the payload.",
      "properties": {
        "name": {
          "type": "string",
          "description": "Feed name."
        },
        "url": {
          "type": "string",
          "description": "Feed homepage URL."
        }
      },
      "required": [
        "name",
        "url"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "data",
    "source"
  ],
  "additionalProperties": false
}

Recommended Prompts

search_research
Search for information about [topic] using feedmyagent
Expected tools: query_security_feed
find_specific
Find [specific item] using feedmyagent
Expected tools: query_security_feed
retrieve_data
Get details about [item] from feedmyagent
Expected tools: get_latest
fetch_info
Fetch [information type] using feedmyagent
Expected tools: get_latest
research_workflow
Search for [topic], then get detailed information about the top results using feedmyagent
Expected tools: query_security_feedget_latest

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools
verifiedversion not recorded7 tools
verifiedversion not recorded7 tools
verifiedversion not recorded7 tools
verifiedversion not recorded6 tools
verifiedversion not recorded6 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools