addrbookFor publishers
← The evidence ledger

Evidence row 1851622

Observed , by sync.mcp_registry/1.

Kind
listing
About
source_record mcp_registry:org.linkedparticles/particles
Recorded
Previous row
#58274
Body SHA-256
cc08e82609b15d2e2146f9a3a3e3e0ca76b9c8b61d71e86495e9beb8ba609efc
Leaf
0xb2af5a82ca2eb7371458376961fc5e04216c638163747dd76fdce84b0e841bc6

What was observed

{
  "endpoints": [
    [
      "web",
      "https://docs.linkedparticles.org/cli/"
    ]
  ],
  "name": "Particles",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-11-01T23:41:22.532007Z",
        "status": "active",
        "statusChangedAt": "2026-11-01T23:41:22.532007Z",
        "updatedAt": "2026-11-01T23:41:22.532007Z"
      }
    },
    "server": {
      "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
      "_meta": {
        "io.modelcontextprotocol.registry/publisher-provided": {
          "toolSurface": {
            "readAlwaysRegistered": [
              "query",
              "lint",
              "quality_report",
              "particle_show",
              "particles_list",
              "particle_search",
              "subjects_list",
              "subjects_search",
              "subjects_show",
              "list_corpus_entries",
              "list_taxonomies",
              "links_suggest",
              "corpus_links_suggest",
              "events_list",
              "event_show",
              "graph_view"
            ],
            "resources": [
              "particles://digest/<store>"
            ],
            "writeGate": "mcp.write.enabled_stores is empty by default; a store must be named there before any write tool is registered.",
            "writeRegisteredOnlyWhenEnabled": [
              "particle_assert",
              "particle_supersede",
              "particle_retract",
              "particle_tag",
              "particle_untag",
              "link_add",
              "link_remove",
              "deposit_text"
            ]
          }
        }
      },
      "description": "An append-only ledger of sourced, dated, confidence-scored claims your agent cites and you audit",
      "name": "org.linkedparticles/particles",
      "packages": [
        {
          "environmentVariables": [
            {
              "description": "Anthropic API key. Required for the tools that call a model — `query` composes a cited natural-language answer, and the semantic half of `lint` reasons over claim pairs. The accessors that only read the store (`particle_show`, `particles_list`, `subjects_*`, `events_*`, `graph_view`, `quality_report`) work without it.",
              "isRequired": true,
              "isSecret": true,
              "name": "ANTHROPIC_API_KEY"
            },
            {
              "description": "SQLAlchemy URL of the belief store to serve, used as given, so write a SQLite path absolute: a relative one opens against the directory the server starts in. Without it, and without PARTICLES_CONFIG, the server serves the store `~/.particles/config.yaml` names (a relative path there is read under `~/.particles/`), or `~/.particles/particles.db` when that file names none, never a store in the directory it starts in.",
              "name": "DATABASE_URL"
            },
            {
              "description": "Path to the config file holding the rest of the server's settings: additional stores, model selection per purpose, and the `mcp.write.enabled_stores` allowlist that turns the write tools on. This is the supported way to give the server settings. Without it the server reads `~/.particles/config.yaml`, never a `config.yaml` in the directory it starts in. Give it as an absolute path: a relative one is refused. When you set it, also set `DATABASE_URL` to an absolute path or name one as `storage.database_url` in the file: a server started with a config file refuses a store path relative to its working directory, and refuses to start while any store under `storage.stores` has one.",
              "format": "filepath",
              "name": "PARTICLES_CONFIG"
            }
          ],
          "identifier": "linkedparticles",
          "packageArguments": [
            {
              "description": "The CLI command group that hosts the Model Context Protocol surface.",
              "type": "positional",
              "value": "mcp",
              "valueHint": "command"
            },
            {
              "description": "Serve the belief store over stdio. Read-only by default: the read tools are always registered, and the write tools are added only for stores explicitly listed in `mcp.write.enabled_stores`.",
              "type": "positional",
              "value": "serve",
              "valueHint": "subcommand"
            }
          ],
          "registryBaseUrl": "https://pypi.org",
          "registryType": "pypi",
          "runtimeArguments": [
            {
              "description": "The distribution that provides the server. Its console script is named `particles`, so the executable and the package name differ and `--from` is required.",
              "name": "--from",
              "type": "named",
              "value": "linkedparticles"
            },
            {
              "description": "The console script installed by the linkedparticles distribution.",
              "type": "positional",
              "value": "particles",
              "valueHint": "executable"
            }
          ],
          "runtimeHint": "uvx",
          "transport": {
            "type": "stdio"
          },
          "version": "1.224.6"
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/LinkedParticles/particles-engine-py"
      },
      "title": "Particles",
      "version": "1.224.6",
      "websiteUrl": "https://docs.linkedparticles.org/cli/#mcp-server"
    }
  },
  "source": "mcp_registry",
  "summary": "An append-only ledger of sourced, dated, confidence-scored claims your agent cites and you audit"
}

What the leaf hashes

{"body":"cc08e82609b15d2e2146f9a3a3e3e0ca76b9c8b61d71e86495e9beb8ba609efc","id":1851622,"kind":"listing","method":"sync.mcp_registry/1","observed_us":1793578690232645,"prev":58274,"subject":"mcp_registry:org.linkedparticles/particles","subject_kind":"source_record"}

Proof

Its day has not closed yet. A day closes ten minutes after midnight UTC; the proof appears here then.

How to check it · This row as JSON