Context — ctxt.io
에이전트가 생성한 모든 것(디프, 로그, 리포트, HTML)을 자동으로 만료되는 공유 링크로 바꿔드립니다.
문서
Context for AI agents (via MCP)
ctxt.io is a hosted Model Context Protocol server.
Connect it to Claude Code, Codex, Cursor, VS Code, or any MCP client, and your AI agent can turn diffs, logs, snippets, and docs into auto-expiring share links — and read them back. No account, no API key, nothing to install.
The client-side packaging is open source: the Claude Code plugin, the Codex plugin, the /share skill, and the install recipes below all live in ctxt-io/ctxt-agents on GitHub. If it's useful to you, a star helps others find it.
Set up in your client
The server lives at https://ctxt.io/mcp (remote, Streamable HTTP).
Claude Code
claude mcp add --scope user --transport http ctxt https://ctxt.io/mcp
--scope user makes it available in every project. Drop it to add ctxt to the current project only.
Or check a project-scoped config into your repo so your whole team gets it — add this to .mcp.json:
{
"mcpServers": {
"ctxt": { "type": "http", "url": "https://ctxt.io/mcp" }
}
}
Or install the plugin, which adds a /share command and a skill that teaches Claude when to share and how to produce good-looking HTML output. Run these one at a time in Claude Code:
1. Add the marketplace:
/plugin marketplace add ctxt-io/ctxt-agents
2. Install the plugin:
/plugin install ctxt@ctxt
Codex
codex mcp add ctxt --url https://ctxt.io/mcp
Or add to ~/.codex/config.toml:
[mcp_servers.ctxt]
url = "https://ctxt.io/mcp"
Claude Desktop / claude.ai
Settings → Connectors → Add custom connector → enter https://ctxt.io/mcp.
Cursor
Or add it by hand to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"ctxt": { "url": "https://ctxt.io/mcp" }
}
}
VS Code
Add to .vscode/mcp.json:
{
"servers": {
"ctxt": { "type": "http", "url": "https://ctxt.io/mcp" }
}
}
Anything else
Point any MCP client at https://ctxt.io/mcp. The server is stateless Streamable HTTP: plain JSON responses, no SSE stream, no session ids, no authentication.
Free vs Pro
| Feature | Free | Pro ($1 per link) |
|---|---|---|
| Expiry | 5m, 30m, 1h, 8h, or 1d | 30 days |
| Custom name in URL | — | ✓ |
| Password protection | — | ✓ |
Free links are created instantly. When your agent requests ttl=30d, the link is created in a pending state and the tool result includes a payment_url — open it in a browser and complete the $1 checkout to activate the 30 days (and the name/password options). Until payment, the link lives 1 day.
Agentic payments: agent platforms enrolled with us can skip the browser step entirely — when enabled, the tool result carries an acp block (Agentic Commerce Protocol) and the platform completes the $1 purchase programmatically with a Stripe Shared Payment Token. If you build an agent platform and want access, get in touch.
The tools
create_context
Share content as an expiring link.
content(required) — the text to share, up to 4MB.ttl—5m,30m,1h(default),8h,1d, or30d.format—text(default, verbatim),markdown(rendered),code(syntax highlighted; optionallang), orhtml(sanitized and rendered — the best choice for visual output).name,password— Pro options, honored withttl=30d.
Returns the share URL, its .md /.txt /.json variants, the expiry time, and a delete_token that authorizes later deletion — treat the token as a secret.
Visual output: when your agent produces a styled report, a comparison table, or a chart, have it send self-contained HTML with format=html — inline CSS and inline SVG render fully, and it beats markdown for anything visual. <script> tags are stripped server-side and JavaScript never executes, so keep it static. For example:
{
"content": "<div style='font-family:system-ui'><h2>Deploy readiness</h2><table style='border-collapse:collapse'><tr><th style='padding:6px'>Check</th><th style='padding:6px'>Status</th></tr><tr><td style='padding:6px'>Tests</td><td style='padding:6px;color:#080'>445 passed</td></tr><tr><td style='padding:6px'>Coverage</td><td style='padding:6px'><svg width='120' height='10'><rect width='120' height='10' fill='#eee'/><rect width='101' height='10' fill='#2a7'/></svg> 84%</td></tr></table></div>",
"format": "html",
"ttl": "8h"
}
read_context
Fetch an existing ctxt.io link as markdown (default), plain text, or HTML. Takes the full URL, the /3/<code> path, or the bare code, plus password for protected links.
delete_context
Delete a link you created, using its delete_token. Immediately removes public access and requests backing-storage deletion. Destructive — agents should confirm with you before calling it.
Reading pastes without MCP
Every paste URL has robot-readable twins: append .md, .txt, or .json. The .json twin returns the content plus ttl, created, and expires_at:
curl https://ctxt.io/3/YOURKEY.json
MCP is the supported way for machines to create pastes — it carries the rate limits and abuse protections that keep the service free. Creating pastes by other automated means is a violation of our Terms of Service (section 3) and risks being rate-limited or blocked.
Limits and security
- Links are bearer-accessible: anyone who has the URL can read it until it expires.
- Content is stored in plain form at rest. Password protection is an access gate, not encryption.
- Passwords and delete tokens pass through your agent's transcript — don't reuse a password that matters.
- Content is capped at 4MB per link; creation is rate-limited per IP; shared links are excluded from search engines.
- Content may be processed automatically, including by service providers, to detect abuse. It is not used to train or fine-tune generative AI models, and providers aren't permitted to either.
Discovering this server
The server is published in the official MCP registry as io.ctxt/mcp, and the plugins and skills are developed in the open at github.com/ctxt-io/ctxt-agents — issues and pull requests welcome. Questions or ideas: feedback@ctxt.io.