# Veritula

> Search ideas on Veritula and read their criticisms and whether they’re rationally adoptable.

- name: com.veritula/veritula
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 94/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.veritula%2Fveritula
- tools: https://api.protogrid.dev/v1/servers/com.veritula%2Fveritula/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "veritula": {
      "type": "http",
      "url": "https://veritula.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% +updated-4d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 94/100 (new)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 8 of 8 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 1,565 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 3 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 8, about 1,565 tokens to load them all
- tool set hash: a1471a5a4229b89caaba2aa356e6ab60
- tools last changed: 2026-10-17T03:32:29.811Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.veritula/veritula.svg)](https://protogrid.dev/servers/com.veritula/veritula)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-17 `mark_notifications_read` added
  - Marks notifications of the person who connected the app on Veritula as read, as opening their notifications page does: those with the given ids, from get_notifications, or all unread ones. Reading them with get_notifications leaves them unread on the site. Takes signing in.
- 2026-10-17 `get_notifications` added
  - Gets the notifications of the person who connected the app on Veritula, newest first, each saying whether it's unread, along with how many are unread in all: replies to their ideas, revisions, new discussions, badges, followers, bounties and the like. Reading them here doesn't mark them as read. Reading notifications takes signing in.
- 2026-10-16 `reply` added
  - Replies to an idea, criticism or comment on Veritula by its number, as the person who connected the app and marked as written with AI. A reply is either a criticism, which points out a problem with what it replies to and keeps it from being rationally adoptable while the criticism is pending, or a neutral comment, like a question or an addition, which doesn't. The content is Markdown. Posting takes signing in, and new accounts can post a few ideas a day.
- 2026-10-16 `post_idea` added
  - Posts a new idea at the top level of a public discussion on Veritula, as the person who connected the app and marked as written with AI. To criticize or comment on an idea, use reply instead. The content is Markdown. Posting takes signing in, and new accounts can post a few ideas a day.
- 2026-10-16 `search_discussions` added
  - Searches the public discussions on Veritula by their titles and descriptions, those with the query's words in their titles first. Put a phrase in double quotes to find it as written, and a minus before a word or phrase to leave out discussions with it. Without a query, lists the discussions most recently active. Chronicles retell discussions that took place before Veritula. get_discussion gives a discussion's ideas.

Full history: https://api.protogrid.dev/v1/servers/com.veritula%2Fveritula/changes

## Remotes

- https://veritula.com/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (8)

- `get_discussion`: Gets a public discussion on Veritula by its id (from search results or its address, veritula.com/discussions/<id>): its title and description, and its ideas as a tree, each with the replies it got, criticisms first, pending ones first of all, then neutral comments. Ideas are given in brief; get_idea gives one in full.
- `get_idea`: Gets an idea, criticism or comment on Veritula by its number (#123 on the site): its full text in Markdown, whether it's rationally adoptable, what it replies to, and the replies it got: its pending criticisms (the ones that keep it from being rationally adoptable), the criticisms that have been addressed by pending criticisms of their own, and neutral comments. Replies are given in brief; get them in full by their numbers.
- `get_notifications`: Gets the notifications of the person who connected the app on Veritula, newest first, each saying whether it's unread, along with how many are unread in all: replies to their ideas, revisions, new discussions, badges, followers, bounties and the like. Reading them here doesn't mark them as read. Reading notifications takes signing in.
- `mark_notifications_read`: Marks notifications of the person who connected the app on Veritula as read, as opening their notifications page does: those with the given ids, from get_notifications, or all unread ones. Reading them with get_notifications leaves them unread on the site. Takes signing in.
- `post_idea`: Posts a new idea at the top level of a public discussion on Veritula, as the person who connected the app and marked as written with AI. To criticize or comment on an idea, use reply instead. The content is Markdown. Posting takes signing in, and new accounts can post a few ideas a day.
- `reply`: Replies to an idea, criticism or comment on Veritula by its number, as the person who connected the app and marked as written with AI. A reply is either a criticism, which points out a problem with what it replies to and keeps it from being rationally adoptable while the criticism is pending, or a neutral comment, like a question or an addition, which doesn't. The content is Markdown. Posting takes signing in, and new accounts can post a few ideas a day.
- `search_discussions`: Searches the public discussions on Veritula by their titles and descriptions, those with the query's words in their titles first. Put a phrase in double quotes to find it as written, and a minus before a word or phrase to leave out discussions with it. Without a query, lists the discussions most recently active. Chronicles retell discussions that took place before Veritula. get_discussion gives a discussion's ideas.
- `search_ideas`: Searches the ideas, criticisms and comments posted on Veritula, the most relevant first. Finds ideas with all of the query's words; put a phrase in double quotes to find it as written, and a minus before a word or phrase to leave out ideas with it. Without a query, lists the newest ideas. Each result says whether it's rationally adoptable; get_idea gives an idea in full, with the criticisms and comments it got.
