Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

com.proofite/proofite

REMOTE · PROOFITE.COM · 2 COMPONENTS · SCANNED SEP 20

Read your AI-written daily briefing and retune the filter behind it: feeds, newsletters, topics.

+2 this week 91 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security83
Transport & Reachability100
Schema Quality & AI Usability87
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 3388 tokens (~109/item across 31 items; 28 tools + 3 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 30 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Install

How do I install the com.proofite/proofite MCP server?

com.proofite/proofite is a hosted endpoint at https://proofite.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · proofite.com

# add to Claude Code
claude mcp add --transport http com-proofite-proofite 'https://proofite.com/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "com-proofite-proofite": {
      "url": "https://proofite.com/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "com-proofite-proofite": {
      "type": "http",
      "url": "https://proofite.com/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.com-proofite-proofite]
url = "https://proofite.com/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-proofite-proofite": {
      "type": "remote",
      "url": "https://proofite.com/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-proofite-proofite --url 'https://proofite.com/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  com-proofite-proofite:
    url: "https://proofite.com/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "com-proofite-proofite": {
      "Transport": "http",
      "Url": "https://proofite.com/mcp"
    }
  }
}
# add to Vellum
assistant mcp add com-proofite-proofite -t streamable-http -u 'https://proofite.com/mcp'
// mcp.json
{
  "mcpServers": {
    "com-proofite-proofite": {
      "type": "http",
      "url": "https://proofite.com/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 18 Sept 26 0
    • Tool “get_information_diet” rewrote its description, which is the text the model reads security
    • Tool “rate_briefing_entry” rewrote its description, which is the text the model reads security
    • Tool “tune_topic” rewrote its description, which is the text the model reads security
  • 17 Sept 26 0
    • Stability: 0.97 → pass security
  • 16 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 14 Sept 26 +1
    • “update_information_diet” added an optional parameter “podcast_accento” cosmetic

    1 cosmetic change on this day. Switch on “Show cosmetic changes” to see it.

  • 13 Sept 26 0
    • Schema quality: pass → fail functional
    • “update_information_diet” added an optional parameter “podcast_formato” cosmetic
  • 12 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

  • 10 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.

  • 8 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 67 to 70. That category is still filling its 30-day observation window: 20 days of observed history at the previous scan, 21 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Probed https://proofite.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=proofite.com CN=WE1,O=Google Trust Services,C=US 16 Aug 2026 14 Nov 2026 ECDSA 256 ECDSA-SHA256 f028499504f80dac139d3d01353d49f0
SANs: proofite.com, *.proofite.com
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of proofite.com. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
proofite.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Challenged, unverified

The endpoint asked for a token, but we could not retrieve and validate the RFC 9728 metadata that tells a client how to obtain one.

Result Challenged, unverified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer realm="Proofite", error="invalid_token"

Bearer realm="Proofite", error="invalid_token"

Protected resource metadata

Retrieved No
Problem no_resource_metadata

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://proofite.com/mcp Verified 200
http (plaintext) http://proofite.com/mcp HTTPS enforced 301 https://proofite.com/mcp
MCP tools · 28 exposed · ~3,147 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
add_feed ~103

Add an RSS/Atom feed to a topic inbox. You can pass the site address instead of the feed URL — the server fetches the page and discovers the feed. If it fails, the reason is precise (blocked by the site, gone, unreadable) so it can be reported honestly.

NameTypeReqDescription
source_idstringyesWhich inbox (from list_sources)
urlstringyesFeed URL or plain site address, e.g. "ilpost.it"

No output schema declared.

No examples provided.

add_web_search ~104

Monitor a Google query every day and feed the results into a topic inbox: the standing-search way to follow a company, a person, a law or a niche subject that has no RSS feed. kind "news" watches the news index, "search" the whole web.

NameTypeReqDescription
kindstringDefault news
querystringyesThe query, as you would type it into Google
source_idstringyesWhich inbox (from list_sources)

No output schema declared.

No examples provided.

correct_briefing ~161

Tell the briefing what was wrong with it, in plain language — "too much crypto and not enough on the EU regulation", "keep it shorter", "explain the technical parts more simply", "follow this story". An AI editor reads the note against the actual briefing and turns it into concrete adjustments: topic preferences, settings, deep-dive requests. This is the main way a person retunes their news feed by talking.

NameTypeReqDescription
briefing_idstringWhich briefing the note refers to. Omit for the latest.
entry_idstringOptional: the specific story the note is about (entry id from get_briefing)
notestringyesWhat was wrong or what they want changed, in their own words

No output schema declared.

No examples provided.

create_source ~103

Create a new topic inbox: a themed container with its own dedicated email address (subscribe newsletters to it), which can hold RSS feeds and monitored web searches. This is how you add a whole new subject to someone's information diet.

NameTypeReqDescription
descriptionstringOptional brief: what the reader expects from this inbox and what to skip — the editor reads it at every briefing
namestringyesShort name, e.g. "AI research" or "Local news"

No output schema declared.

No examples provided.

delete_source ~59

Permanently delete a topic inbox with all its feeds, searches and collected content. Irreversible: the dedicated email address stops working too. Prefer update_source with is_active false when in doubt.

NameTypeReqDescription
source_idstringyesId from list_sources

No output schema declared.

No examples provided.

discover_sources ~105

Describe a subject in plain words and get back real, working sources for it: RSS feeds validated live by the server (dead ones are dropped before you see them), web searches worth monitoring, and newsletters worth subscribing to. Nothing is added — it returns proposals to pass to add_feed / add_web_search.

NameTypeReqDescription
descriptionstringyesWhat they want to follow, in plain words
source_idstringyesThe inbox the proposals are for (its existing sources are excluded)

No output schema declared.

No examples provided.

generate_briefing ~58

Generate a briefing immediately instead of waiting for the scheduled time, using everything collected so far. Costs real AI money and takes a couple of minutes, so use it only when explicitly asked. Returns the id to poll with get_briefing.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_account ~45

Account status: plan, whether the briefing is currently running, when the next one is due, how many sources and stories are in the system, and the AI cost accrued this month.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_briefing ~122

Read the user's personal AI-written news briefing (daily digest) in full markdown: every story selected today from their newsletters, RSS feeds and monitored web searches, with sources. Returns the latest briefing by default, or a specific one by id or date. Also returns an index of entry ids, needed to rate or correct individual stories.

NameTypeReqDescription
briefing_idstringSpecific briefing id (from list_briefings). Omit for the latest.
include_markdownbooleanInclude the full text. Default true; set false for just the index.

No output schema declared.

No examples provided.

get_information_diet ~100

Read everything that shapes what reaches this person: delivery schedule, length, technicality, depth, stance and tone, stated interests and no-go topics, the profile the system has learned about them, the per-topic preferences built from their feedback (affinity, muted, followed themes) and the specific stories they pinned with "follow" (every development of those gets reported). This is the full picture of their news filter — read it before changing anything.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_podcast_episode ~66

Get the audio episode generated from a briefing: a private podcast narrated in the user's language, with a playable URL and the show notes listing every source. Returns the latest episode by default.

NameTypeReqDescription
briefing_idstringEpisode of a specific briefing. Omit for the latest.

No output schema declared.

No examples provided.

get_source ~67

Inspect one topic inbox in detail: every RSS feed (with its health and last fetch), every monitored web search, X/Twitter profiles, and the newsletters currently arriving at its dedicated address. Use it before removing or reorganising anything.

NameTypeReqDescription
source_idstringyesId from list_sources

No output schema declared.

No examples provided.

import_opml ~150

Import subscriptions from another RSS reader (Feedly, Inoreader, FreshRSS, NetNewsWire) by passing the OPML file contents. Set dry_run true first to see what is in it and what is already present; then run it for real to add them (they are validated one by one, and the ones that fail come back with the reason).

NameTypeReqDescription
dry_runbooleantrue = only list what would be imported
limitintegerMax feeds to add in this call (default 20 — big imports go in batches)
opmlstringyesThe full OPML/XML file contents
source_idstringyesWhich inbox to import into

No output schema declared.

No examples provided.

list_briefings ~65

List the user's past daily briefings (most recent first) with date, title, number of stories and whether an episode exists. Use it to find the id of a specific day before reading or correcting it.

NameTypeReqDescription
limitintegerHow many, default 10

No output schema declared.

No examples provided.

list_deep_dives ~36

List the deep-dive research requests waiting to be covered: topics the user asked the briefing to investigate with fresh web research.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_read_later ~36

List what is queued in the read-later inbox: links and forwarded emails that are guaranteed to be covered in the next briefing.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_sources ~57

List the topic inboxes this person feeds their briefing with: each one has a dedicated email address for newsletter subscriptions, plus RSS feeds and monitored web searches. Shows how much each produced recently, its priority and whether it is included in the briefing.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

rate_briefing_entry ~253

Give a precise up/down signal on one story of a briefing: more like this, less like this, more technical, simpler, deeper, shorter, or mute its topics. These apply to the topics of that story, so the next briefing weighs them differently. A story usually has several topics: pass `topics` to hit only some of them (e.g. "less" of "demographics" but not of "japan"). Sending the same signal again with different topics REPLACES the previous one: the topics you drop are restored, nothing is double-counted. "follow" is different: it pins THIS story — from then on every development of this specific story (and only of it) gets a full entry flagged as an update; "unfollow" releases it. Pinned stories are listed by get_information_diet.

NameTypeReqDescription
briefing_idstringWhich briefing. Omit for the latest.
entry_idstringyesEntry id from get_briefing
signalstringyesThe signal to record
topicsarrayOnly these topics of the story (as listed by get_briefing). Omit to apply to all of its topics.

No output schema declared.

No examples provided.

remove_feed ~41

Remove an RSS feed from a topic inbox. Already-collected content stays; nothing new arrives from it.

NameTypeReqDescription
feed_idstringyesId from get_source

No output schema declared.

No examples provided.

remove_web_search ~48

Stop monitoring a standing web search: no new results from that query will reach the briefing. What it already collected stays where it is.

NameTypeReqDescription
search_idstringyesId from get_source

No output schema declared.

No examples provided.

report_missing_story ~165

The reader expected a story and the briefing did not have it. Describe it in their words; the editor investigates their own sources of the last days, today's briefing, their preferences and a web search, and answers with a verdict: it was in the briefing, none of their sources carried it (and proposes the missing source), it was dropped because of a preference (and corrects it), it was seen but undervalued, or it could not be found. Topics get followed so similar stories do not slip again; a deep-dive may be queued for the next briefing. Five per day.

NameTypeReqDescription
briefing_idstringWhich briefing it was missing from. Omit for the latest.
textstringyesWhat story they expected, in their own words

No output schema declared.

No examples provided.

request_deep_dive ~71

Ask the next briefing to investigate a topic properly, with fresh web research: it will include a mini-dossier with sources. Use it whenever the person says "I want to know more about X" or "keep digging on this".

NameTypeReqDescription
querystringyesThe question or topic to research

No output schema declared.

No examples provided.

save_for_later ~100

Put a link or a note into the read-later queue: whatever lands there is guaranteed to be covered in the next briefing. The page is fetched and its text stored, so it can be summarised even if the site later blocks access.

NameTypeReqDescription
textstringAlternative to url: a free-text note to keep
titlestringOptional title for a text note
urlstringThe link to save

No output schema declared.

No examples provided.

set_learned_profile ~84

Read or rewrite the free-text profile the briefing uses to know who this person is — their work, projects, recurring interests, what they already know. Appending is usually better than replacing: pass mode "append" to add a line.

NameTypeReqDescription
modestringDefault append
textstringyesThe profile text, or the line to add

No output schema declared.

No examples provided.

tune_topic ~146

Tune how a single topic is treated in future briefings: more or less of it, more or less technical, deeper or shorter, more or less often, muted entirely, or followed so every development of that WHOLE THEME gets reported (to follow one specific story, use rate_briefing_entry with "follow" on that entry). This is the precise instrument — for a vague comment like "too much crypto lately" use correct_briefing instead.

NameTypeReqDescription
actionstringyesWhat to change about it
topicstringyesThe topic, as it appears in get_information_diet or in a briefing entry (e.g. "intelligenza artificiale")

No output schema declared.

No examples provided.

unsubscribe_newsletter ~66

Unsubscribe from a newsletter arriving in one of the inboxes. When the sender supports one-click unsubscribe the server does it directly; otherwise it returns the URL a human has to open, and says so honestly.

NameTypeReqDescription
newsletter_idstringyesId from get_source (newsletters)

No output schema declared.

No examples provided.

update_information_diet ~573

Change how and when the briefing reaches this person: delivery time and days, length, technicality, depth, stance, tone, stated interests and topics to avoid, language, timezone, podcast and email delivery. Pass only the keys you want to change. Read get_information_diet first — these are global settings, not per-topic ones (for a single topic use tune_topic).

NameTypeReqDescription
avoidstringcosa non vuole leggere mai
chicca_enabledbooleannei giorni senza notizie, una storia vera dall'archivio
depthinteger1 solo i fatti … 5 analisi e implicazioni
digest_daysarraygiorni della settimana, ISO 1=lunedì … 7=domenica
digest_enabledbooleanricevere o meno il briefing quotidiano
digest_lengthstringquanto deve essere lungo
digest_timestringorario di consegna, HH:MM nel fuso dell'utente
email_digest_enabledbooleanricevere il briefing anche per email
entry_mixinteger1 poche voci trattate a fondo … 5 tante voci brevi (la lunghezza totale non cambia)
interestsstringcosa seguire, in linguaggio naturale
languagestringlingua del briefing e del podcast
podcast_accentostringaccento della voce, per la lingua scelta: inglese us/gb/au/ie/in, spagnolo es/latam, francese fr/ca, tedesco de/at/ch (l'italiano non ha varianti)
podcast_enabledbooleangenerare anche l'episodio audio
podcast_formatostringshow = due conduttori che si rispondono (il formato di casa); classico = una voce che legge il briefing
podcast_minutesintegerdurata desiderata dell'episodio
serper_enrichbooleanarricchire il briefing con ricerche web fresche
smalltalking_enabledbooleanogni giorno, in coda al briefing, due o tre storie brevi da raccontare
stanceinteger1 neutro … 5 l'editor si sbilancia
technicalityinteger1 divulgativo … 5 da addetti ai lavori
timezonestringfuso orario IANA (Europe/Rome)
tonestringcome deve scrivere («diretto, zero fuffa»)
weekly_recap_enabledbooleanriepilogo settimanale di ciò che non è stato letto

No output schema declared.

No examples provided.

update_source ~163

Change a topic inbox: rename it, change its description, raise or lower its priority in the briefing, set a per-inbox technicality level, temporarily exclude it from the briefing or pause it entirely.

NameTypeReqDescription
descriptionstringThe inbox brief: what the reader expects from it and what to skip — the editor reads it at every briefing
include_in_digestbooleanfalse = keep collecting but leave it out of the briefing
is_activebooleanfalse = stop collecting entirely
namestringNew name for the inbox
priorityinteger1 marginal … 5 always first
source_idstringyesId from list_sources
technicalityintegerOverride just for this inbox

No output schema declared.

No examples provided.

Common questions

What is the com.proofite/proofite MCP server?

com.proofite/proofite is an MCP server listed in the public MCP registry as com.proofite/proofite. Read your AI-written daily briefing and retune the filter behind it: feeds, newsletters, topics. This page covers its hosted endpoint (https://proofite.com/mcp).

Is the com.proofite/proofite MCP server safe to use?

com.proofite/proofite scores 91 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the com.proofite/proofite MCP server expose?

com.proofite/proofite exposes 28 tools: get_briefing, list_briefings, get_information_diet, list_sources, get_source, and 23 more. Their descriptions and schemas cost roughly 3,147 tokens of context every time the server is loaded.

Does the com.proofite/proofite MCP server require authentication?

Yes. com.proofite/proofite asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the com.proofite/proofite MCP server still maintained?

com.proofite/proofite is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.