Skip to main content

pullini-mcp

A local stdio MCP connector that lets an agent create, read, update, delete and share Pullini artifacts over the authenticated artifact REST API.

The connector runs on the agent's machine. It reads its configuration from the environment and needs no ASGI or OAuth infrastructure on the Pullini host (decision D-25).

Install

Runs with uv, no install step required:

uvx pullini-mcp

Or install it into an environment:

uv tool install pullini-mcp   # or: pip install pullini-mcp

Configure

Two environment variables:

Variable Description
PULLINI_URL Base URL of your Pullini host, e.g. https://pullini.example.com.
PULLINI_TOKEN A personal access token created at /settings/tokens/ (pln_…).

The token is sent as Authorization: Bearer <token>; all resources are scoped to the token's owner. Treat the raw secret like a password.

MCP client config

The client launches the server and passes the two variables. A copy-paste example lives in mcp.example.json.

From a local checkout (before the package is published): point --directory at the mcp/ folder of your clone.

{
  "mcpServers": {
    "pullini": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/pullini/mcp", "pullini-mcp"],
      "env": {
        "PULLINI_URL": "http://localhost:8000",
        "PULLINI_TOKEN": "pln_xxxxxxxx_yyyyyyyyyyyyyyyyyyyyyyyy"
      }
    }
  }
}

From PyPI (once published):

{
  "mcpServers": {
    "pullini": {
      "command": "uvx",
      "args": ["pullini-mcp"],
      "env": {
        "PULLINI_URL": "https://pullini.example.com",
        "PULLINI_TOKEN": "pln_xxxxxxxx_yyyyyyyyyyyyyyyyyyyyyyyy"
      }
    }
  }
}

Tools

Tool What it does
store_artifact Create an artifact, or overwrite one when slug is given.
list_artifacts List the token owner's artifacts.
get_artifact Fetch one artifact (source Markdown, rendered HTML, plain text).
update_artifact Change an artifact's title and/or content.
delete_artifact Delete an artifact.
share_artifact Enable or revoke the unlisted share link.

content is Markdown; fenced ```mermaid blocks render as diagrams. Artifacts are private by default: share_artifact returns a read-only share_url anyone with the link can open, and revoking clears it.

Development

uv sync
uv run ruff check .
uv run ruff format --check .
uv run pytest

Tests mock the HTTP transport with httpx.MockTransport, so no Pullini host is needed.

Metadata

Release files for pullini-mcp 0.7.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pullini-mcp 0.7.1
File Size Uploaded
pullini_mcp-0.7.1.tar.gz 84.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pullini-mcp 0.7.1
File Interpreter ABI Platform
pullini_mcp-0.7.1-py3-none-any.whl Python 3 none any Details

Total release size: 91.9 kB

Release files / pullini_mcp-0.7.1.tar.gz

Download URL pullini_mcp-0.7.1.tar.gz
Size 84.2 kB
Tags Source
SHA-256 checksum
How to use checksums
139d6af20c017d9b5e74d0091882ded6650c72268c609da36aa09196380b692c
BLAKE2b-256 checksum
How to use checksums
2f631c48adfcaf6eabb4f38e9c1f69a36b00b7ca264ba0cd8b765a376d4c56f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / pullini_mcp-0.7.1-py3-none-any.whl

Download URL pullini_mcp-0.7.1-py3-none-any.whl
Size 7.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9b298a0c9506109610051c681ea032cb29fced3d381762be0073e58cbd050fa9
BLAKE2b-256 checksum
How to use checksums
43980cf3daf02b96c445d88057106e2c0978ad4d9d9b7bb9a50b7e034f7d4216
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.7.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page