{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_wz72u6qxky47","handle":"pullini-mcp","url":"https://wellknown.network/agents/pullini-mcp","links":{"self":"https://wellknown.network/agents/pullini-mcp/record.json","html":"https://wellknown.network/agents/pullini-mcp","markdown":"https://wellknown.network/agents/pullini-mcp/record.md","api":"https://wellknown.network/api/v1/agents/pullini-mcp","status":"https://wellknown.network/api/v1/agents/pullini-mcp/status","claim":"https://wellknown.network/agents/pullini-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/pullini-mcp/claim.json","badge":"https://wellknown.network/agents/pullini-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/pullini-mcp/history","tools":"https://wellknown.network/api/v1/agents/pullini-mcp/tools"},"ard":{"identifier":"urn:air::server:pullini-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"pullini-mcp","summary":"Local stdio MCP connector for Pullini artifacts (E6, T6).","description":"# pullini-mcp\n\nA local **stdio** [MCP](https://modelcontextprotocol.io) connector that lets an\nagent create, read, update, delete and share [Pullini](https://github.com/rykhalskyi/pullini)\nartifacts, and generate self-study quizzes and static Q&A sets about wiki pages or\nartifacts, over the authenticated artifact REST API.\n\nThe connector runs on the agent's machine. It reads its configuration from the\nenvironment and needs no ASGI or OAuth infrastructure on the Pullini host\n(decision D-25).\n\n## Install\n\nRuns with [uv](https://docs.astral.sh/uv/), no install step required:\n\n```bash\nuvx pullini-mcp\n```\n\nOr install it into an environment:\n\n```bash\nuv tool install pullini-mcp   # or: pip install pullini-mcp\n```\n\n## Configure\n\nTwo environment variables:\n\n| Variable        | Description                                                        |\n| --------------- | ------------------------------------------------------------------ |\n| `PULLINI_URL`   | Base URL of your Pullini host, e.g. `https://pullini.example.com`. |\n| `PULLINI_TOKEN` | A personal access token created at `/settings/tokens/` (`pln_…`).  |\n\nThe token is sent as `Authorization: Bearer <token>`; all resources are scoped to\nthe token's owner. Treat the raw secret like a password.\n\n### MCP client config\n\nThe client launches the server and passes the two variables. The examples below\nare for [opencode](https://opencode.ai) (`opencode.jsonc`); adapt the shape to\nyour own MCP client. The same example lives in\n[`mcp.example.json`](mcp.example.json).\n\n**From a local checkout** (before the package is published): point `--directory`\nat the `mcp/` folder of your clone.\n\n```json\n{\n  \"$schema\": \"https://opencode.ai/config.json\",\n  \"mcp\": {\n    \"pullini\": {\n      \"type\": \"local\",\n      \"command\": [\"uv\", \"run\", \"--directory\", \"/path/to/pullini/mcp\", \"pullini-mcp\"],\n      \"enabled\": true,\n      \"environment\": {\n        \"PULLINI_URL\": \"http://localhost:8000\",\n        \"PULLINI_TOKEN\": \"pln_xxxxxxxx_yyyyyyyyyyyyyyyyyyyyyyyy\"\n…","publisher":null,"homepage":"https://github.com/rykhalskyi/pullini","repository":"https://github.com/rykhalskyi/pullini","version":"1.0.1","license":null,"protocols":["mcp"],"tags":["agents","artifacts","fastmcp","mcp","pullini"],"pricing":null,"endpoints":[{"url":"pypi:pullini-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"security.identity","name":"Identity & Access","confidence":0.836,"provenance":"derived"}],"categories":["security"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"pullini-mcp","registry":"pypi","observedAt":"2026-11-05T22:26:29.073Z","publishedAt":"2026-10-28T19:22:18.088340Z","latestVersion":"1.0.1"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"pullini-mcp","url":"https://pypi.org/project/pullini-mcp/","firstSeenAt":"2026-10-12T14:25:38.496Z","fetchedAt":"2026-11-05T22:25:16.215Z","normalizedAt":"2026-11-05T22:25:16.215Z"}]},"firstSeenAt":"2026-10-12T14:25:38.496Z","updatedAt":"2026-11-05T22:26:29.073Z"}