feed-digest

RSS/Atom URL → structured items for bots. Free try then prepaid TEST. https://feeds.kymac.co

Should I use this

Quality & Safety

B
Description quality
95%
Schema completeness
53%
Naming quality
87%
Poisoning risk
60%
Permission match
100%
Protocol compliance
100%

Findings (3)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainin issue_key
  • MEDIUMTool description contains URL to non-standard domainin digest_feed

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,205Tokens (tool definitions)
~279 BTypical response size
Moderate attention impact (0.94% 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": {
    "feed-digest": {
      "url": "https://feeds.kymac.co/mcp"
    }
  }
}

Remote endpoints

https://feeds.kymac.co/mcpstreamable-http

What it can do

Tool inventory

Tools (12)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢issue_key

Mint a caller key (POST /keys). Bot install starts at GET https://feeds.kymac.co/llms.txt (sole advertised entry). Secret fdg_… is returned once. Prefer Authorization: Bearer; X-API-Key is an alias. First issue grants 1 free credit (credit.grant reason=first_key). Quote cost with quote_credits before digest_feed.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢verify_key

Confirm FEED_DIGEST_API_KEY or Authorization: Bearer (GET /keys/verify). X-API-Key is an alias only. Does not echo the secret.

Input Schema

{
  "type": "object",
  "properties": {}
}
⚪rotate_key

Replace the presented secret (POST /keys/rotate). Same id/caller_id and credits. New fdg_… is returned once. Old secret then fails 401 invalid_api_key. Prefer Authorization: Bearer; X-API-Key is an alias only. No ops file-edit.

Input Schema

{
  "type": "object",
  "properties": {}
}
🔴revoke_key

Invalidate the presented secret (POST /keys/revoke). Same id is revoked; old secret then fails 401 invalid_api_key. Prefer Authorization: Bearer; X-API-Key is an alias only. No ops file-edit.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢list_credit_packs

Prepaid TEST packs (GET /credits/packs). checkout_credits is intent only; credits grant after confirm_credits.

Input Schema

{
  "type": "object",
  "properties": {}
}
⚪checkout_credits(pack_id)

TEST intent for a pack (POST /credits/checkout). Intent only, returns credits_pending; credits are not granted or spendable until confirm_credits succeeds. Requires a caller key. No live Stripe.

Input Schema

{
  "type": "object",
  "properties": {
    "pack_id": {
      "type": "string",
      "description": "Pack id from list_credit_packs (e.g. pack_10)."
    }
  },
  "required": [
    "pack_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪confirm_credits(stripe_payment_intent_id)

Confirm a TEST checkout intent (POST /credits/confirm). This is when credits become granted/spendable (appends credit.purchase with credits_added). TEST only. Synthetic pi_test_… until LAS-212.

Input Schema

{
  "type": "object",
  "properties": {
    "stripe_payment_intent_id": {
      "type": "string",
      "description": "PaymentIntent id (pi_test_…) from checkout_credits."
    }
  },
  "required": [
    "stripe_payment_intent_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢quote_credits(op)

Dry-run cost for an op without debit (GET /credits/quote?op=digest). Returns cost, balance, and would_succeed.

Input Schema

{
  "type": "object",
  "properties": {
    "op": {
      "description": "Operation to quote. Defaults to digest.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢credit_balance

Derived prepaid balance for this caller_id (GET /credits/balance).

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢credit_events

Append-only events for this caller_id (GET /credits/events). Debit reason is digest_success after POST /digest ok:true.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢digest_feed(url)

Fetch a public RSS or Atom feed (POST /digest). Install via GET https://feeds.kymac.co/llms.txt only. Prefer Authorization: Bearer; X-API-Key is an alias. Golden URL https://hnrss.org/frontpage. Compare ok true JSON in llms.txt. First key includes 1 free credit. Quote first with quote_credits (no debit). Debits 1 credit on ok:true (credit.debit reason=digest_success). 200 bodies include credits_burned and credits_remaining. HTTP fails use code/message/retryable/next (error aliases message). 401 next=refresh key. 402: code=insufficient_credits, retryable=false, next=buy credits. Retryable fails use next=retry.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Absolute public http(s) RSS or Atom feed URL. Golden proof URL: https://hnrss.org/frontpage"
    }
  },
  "required": [
    "url"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢health

Public readiness (GET /health): billing (test|gated) and runner_ready. No key.

Input Schema

{
  "type": "object",
  "properties": {}
}

Recommended Prompts

browse_collection
Show me the [collection] from feed-digest
Expected tools: list_credit_packs
list_items
List all [items] available in feed-digest
Expected tools: list_credit_packs

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded12 tools