
Write HTML. Render video. Built for agents.
pctx gives agents a single execution layer for tool calls and upstream MCP servers. It exposes Code Mode, where agents write code that runs in an isolated sandbox instead of making one tool call at a time. It also handles auth, session aggregation, and config for shared use across agents and SDKs.
Builders who want Claude Code, Codex, Cursor, or any agent SDK to use tools through a secure execution layer.
You can run agent tool calls in code instead of passing every result through the context window, with auth and sandboxing handled for you.
Exposes tools as code functions so agents can do multi-step work in one sandboxed execution.
Connects multiple MCP servers through one interface and keeps sessions across execute calls.
Runs as a stateless HTTP server or as a stdio MCP server for registered upstream servers.
Runs generated code in Deno with only the network hosts allowed in config, and without filesystem or environment access.
Uses pctx.json and supports env vars, system keychain, and external commands for secrets.
Provides a pctx-client package for building agents in Python and wiring in custom tools or MCP servers.
# Homebrew brew install portofcontext/tap/pctx # cURL curl --proto '=https' --tlsv1.2 -LsSf https://raw.githubusercontent.com/portofcontext/pctx/main/install.sh | sh # npm npm i -g @portofcontext/pctx
The open source framework to connect AI agents to tools and mcp with Code Mode
# Homebrew
brew install portofcontext/tap/pctx
# cURL
curl --proto '=https' --tlsv1.2 -LsSf https://raw.githubusercontent.com/portofcontext/pctx/main/install.sh | sh
# npm
npm i -g @portofcontext/pctx
pctx can be run as a stateless HTTP server for Code Mode sessions or as a unified MCP server that exposes Code Mode functionality for registered upstream MCP servers.
# Start Code Mode for Python SDK
pctx start
# Start Code Mode as a unified MCP server
pctx mcp init
pctx mcp dev
Use the Python SDK if building agents in Python and want to run Code Mode with custom tools and/or MCP servers. The Python SDK is an HTTP client to the pctx server.
pip install pctx-client
from pctx_client import Pctx, tool
from agents import Agent # Use any Agent SDK
from agents.run import Runner # This example is OpenAI Agents SDK
@tool
def get_weather(city: str) -> str:
"""Get weather information for a given city."""
return f"It's always sunny in {city}!"
pctx = Pctx(tools=[get_weather]) # or with mcp: servers=[your_mcp]
tools = pctx.openai_agents_tools() # Run Code Mode with any Agent SDK
agent = Agent(
name="GreatCoder",
model="litellm/openrouter/openai/gpt-oss-120b",
instructions="You run code to complete complex tasks.",
tools=tools,
)
Coming soon
Use the unified MCP to run Code Mode with MCP servers and want to persist the authentication connections and you do not need to use agent tools (non-mcp tools).
# Initialize config for upstream mcp connections
pctx mcp init
# Add HTTP or stdio MCP servers
pctx mcp add stripe https://mcp.stripe.com
pctx mcp add memory --command "npx -y @modelcontextprotocol/server-memory"
# Start as HTTP server (dev mode with UI)
pctx mcp dev
# Or start as stdio MCP server
pctx mcp start --stdio
For complete CLI documentation, see CLI.md. For configuration options, see Configuration Guide.
pctx sits between AI agents and MCP servers. It aggregates multiple upstream MCP servers, handles authentication, and exposes tools through a unified Code Mode interface. Instead of agents managing connections to individual MCP servers, they connect once to pctx.
Code mode replaces sequential tool calling with code execution. Rather than an agent calling tools one at a time and passing results through its context window, it writes code that executes in a sandbox. Read Anthropic's overview here.
Traditional MCP flow:
getSheet(id)filterRows(criteria)With Code Mode:
const sheet = await gdrive.getSheet({ sheetId: "abc" });
const orders = sheet.filter((row) => row.status === "pending");
console.log(`Found ${orders.length} orders`);
Result: 98.7% reduction in tokens (150k → 2k) for this multi-step operation.
execute_typescript calls. See Upstream MCP Servers Guide.Depending on the installation method (Homebrew/npm/cURL) the update method is different. Run which pctx if you are unsure what you used to install it.
# Homebrew update
brew upgrade pctx
# cURL update
pctx-update
# npm update
npm upgrade -g @portofcontext/pctx
crates/Sign in to join the discussion.
No comments yet. Be the first to say what this is good for.

Write HTML. Render video. Built for agents.
Ultra-lightweight, open-source, self-hosted personal AI agent framework in Python with WebUI, tools, memory, MCP, multi-agent workflows, automation, and chat apps
SkillOpt is a text-space optimizer that trains reusable natural-language skills for frozen LLM agents through trajectory-driven edits, validation-gated updates, and deployable best_skill.md artifacts.

Omnigent is an open-source AI agent framework and meta-harness: orchestrate Claude Code, Codex, Cursor, Pi, and custom agents — swap harnesses without rewriting, enforce policies and sandboxing, and collaborate in real time from any device.
A theoretical reconstruction of the Claude Mythos architecture, built from first principles using the available research literature.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!