Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Reason given by maintainers: ⚠️ **Pre-release placeholder** — install only version 0.1.0 or later for production use.

mcp_context_pointer

A plug-in extension for Model Context Protocol (MCP) enabling Cross-App Memory Pointers (ContextPointer block) and seamless use of vaulted memory with LLM agents.
Built by Third Plane.

PyPI version MCP compatibility License: Apache-2.0


🚀 What is this?

mcp_context_pointer is an optional plug-in for the MCP Python SDK.
It provides the ContextPointer block—an efficient, privacy-stable, cross-application pointer for referencing conversation history, memory chunks, or arbitrary state, backed by a vault service.

  • Save up to 40–60% on LLM context tokens
  • Enable compliance (GDPR, Consent Ledger) and auditability
  • Point to fast, managed vaults or your own self-hosted instance

Supports:

  • Adaptive inlining out-of-the-box (fallbacks when vault or network is slow)
  • Signature verification (Ed25519/PASETO or HMAC)
  • Works with any MCP-compliant service, agent, or app

🛠️ Installation

pip install mcp-context-pointer
# or as an MCP extra:
pip install "modelcontextprotocol[context-pointer]"

💡 Quick Start

from mcp_context_pointer.block import ContextPointerBlock
from mcp.blocks.registry import get_block
import requests

# Compose a conversation:
history = [
    {"role": "user", "text": "Can you summarize our last meeting?"},
    {"role": "assistant", "text": "Certainly, here's a short summary..."},
    {"role": "user", "text": "What was the action item?"}
]

# Inline last N, pointerize the rest:
from mcp_context_pointer.wrap import wrap_history_with_pointer

new_blocks = wrap_history_with_pointer(
    history=history,
    n_inline=2,
    vault_url="https://vault.thirdplane.io"          # managed or self-host
)

# Send new_blocks as your MCP resource.blocks[]

🏛️ ContextPointer Block Spec (v1)

{
  "kind": "context_pointer",
  "mrl":  "ocsv1://vault.thirdplane.io/u/1234/c/77#t0-4",
  "sig":  "{signature}",
  "privacy": "app_private",
  "window": {"start": 0, "end": 256},
  "maxCost": 512
}
  • mrl: Opaque, signed Memory Reference Locator. Supports privacy, region pinning, selectors.
  • sig: Signature (Ed25519/PASETO default, HMAC fallback)
  • privacy: Recommended: 'app_private' (default: cross-app only if user explicit)
  • window: Optional byte or token range
  • maxCost: LLM context size hint

🔒 Security

  • All pointers must be signed and verified on-dereference.
  • privacy flags default to non-leaky mode; PII should never appear in mrl.
  • Vault fetch enforces same-site/tenant and access logging.
  • Supports Ed25519 signatures by default; accepts legacy HMAC.

🏎️ Performance

  • Fetch pointer blocks from edge-cached managed vaults in <35ms (p95, global).
  • Fallback: If vault unreachable, package will inline fallback for full compatibility ("never worse" policy).
  • Prometheus (or JSON) metrics on all pointer ops.

📝 License

Apache-2.0 — matches MCP ecosystem, allows both independent & up-streaming use, and is enterprise-friendly.
Copyright (c)


📡 Roadmap

  • 🚀 Upstream into MCP core once the ContextPointer profile is standardized
  • Edge cache + multi-region support for managed vault
  • Optional Consent Ledger & Answer-Cache APIs
  • Thin wrappers for Node, Go, Rust

🤝 Acknowledgments

Special thanks to the MCP community, spec maintainers, and early design partners. Questions? Open an issue or DM .


⭐ About Third Plane

Third Plane is building the "Cloudflare for AI State"—portable, privacy-stable, edge-cached memory for every AI app.


This package is independent of, but interoperates with, the core MCP SDK.
No license or support is implied by the Model Context Protocol working group.


Start saving tokens and gaining memory: Read the full docs ➔ or Try managed vault for free ➔


FAQ

Q: Can I use this without a managed vault?
A: Yes—just set vault_url to your own self-hosted endpoint.

Q: How do I upstream to MCP if the spec merges?
A: Final API/class names will be stable; your wrap() just imports from MCP core once standardized.

Q: Does this lock me in?
A: No. It is Apache-2.0, and all data is exportable via MRL.

Metadata

Release files for mcp-context-pointer 0.0.3

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

Source distribution (sdist)

Source distribution for mcp-context-pointer 0.0.3
File Size Uploaded Provenance
mcp_context_pointer-0.0.3.tar.gz 7.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-context-pointer 0.0.3
File Interpreter ABI Platform
mcp_context_pointer-0.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 16.1 kB

Release files / mcp_context_pointer-0.0.3.tar.gz

Download URL mcp_context_pointer-0.0.3.tar.gz
Size 7.9 kB
Tags Source
SHA-256 checksum
How to use checksums
de5df2b83c9e859d4dc47c1e702315d826db41eacb7ba5cf340f7273a9170ff4
BLAKE2b-256 checksum
How to use checksums
06312f3411d42f492539756027f59fe0629f05d768397b7ad578db002b948a3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.2

Release files / mcp_context_pointer-0.0.3-py3-none-any.whl

Download URL mcp_context_pointer-0.0.3-py3-none-any.whl
Size 8.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c4beb1bb6d98241ae50c5d961a910d33f576beffb43081257c635ccf720d45a4
BLAKE2b-256 checksum
How to use checksums
73462c12fa5d7979522ddc1617e1f507a8b9533b74f63458d49af9b84d4a31ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.2

Security for mcp-context-pointer 0.0.3

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files No provenance

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