footon
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@footoncreate a share from my approved transcript"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
footon
Footon turns Claude and Codex JSONL transcripts into sanitized share links. Raw transcripts remain local. Only user and assistant prose from an explicitly approved draft can be published.
raw JSONL -> Rust draft + local scanners -> explicit approval -> Cloudflare edge rescan -> share linkThe remote MCP endpoint is https://footon.dev/mcp. It uses OAuth 2.1 with
passwordless email sign-in and exposes share, service-key, and sanitized remote
report tools.
The application is Rust end to end. Topcoat owns route and method matching and builds the Tailwind stylesheet; workers-rs provides the Cloudflare D1, email, Turnstile, and runtime bindings. Node remains only for Wrangler packaging and deployment.
CLI
cargo install footon --locked
footon signin you@example.com
footon draft thread.jsonl --title "Public title" --output footon-draft.json
footon publish footon-draft.json
footon publish footon-draft.json --private
footon fetch https://footon.dev/s/example
footon key-create "Auth0 production" auth0-prod --scope "logs:write logs:read"
footon reports --system auth0-prodSign-in stores a refreshable session in the operating system credential store; normal command output never includes access or refresh tokens. Drafting makes no network request. Publishing is a separate command and refuses plain HTTP except for localhost tests. See cli/README.md for the full contract.
Public shares are free forever and readable by anyone with the link. Private
shares require Pro and named Viewer or Editor access. footon fetch tries a
share anonymously first, then uses the stored session only when the private
share requires authentication. See docs/access-control.md
for the role and billing contract.
Pro owners can issue hashed, scoped, revocable service keys for any named auth or infrastructure system. A remote system can submit bounded log summaries without giving Footon its upstream provider credential. See docs/service-keys.md for scopes, limits, report redaction, retention, and CLI examples.
Share URLs use HTTP content negotiation. Browsers receive the dense HTML reader
by default. Agents can send Accept: text/markdown; footon fetch does this and
writes the exact Markdown response to stdout. Explicit equal-quality HTML and
Markdown preferences resolve to Markdown.
Related MCP server: agentops-mcp
OAuth migration boundary
The Rust OAuth service uses new D1 tables and the interactive scopes
keys:manage, logs:read, shares:read, and shares:write. Service keys can
receive only logs:read, logs:write, shares:read, and shares:write.
Existing OAuth clients, authorization codes, access tokens, and refresh tokens
are intentionally not migrated. Existing share rows remain in the original
shares table and remain readable, including v1 share documents.
Development
npm install
npm run check
npm run devnpm run check formats, lints, tests, and builds the complete Rust workspace.
Apply D1 migrations before running a fresh local Worker or deploying:
npx wrangler d1 migrations apply footon --localSafety boundary
The official CLI combines redact-core with independent credential, key,
connection-string, path, and metadata removal. The Worker validates the exact
footon.share.v2 shape and rejects remaining high-signal secrets and personal
data. No scanner can prove arbitrary text is secret-free, so explicit local
review remains mandatory.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Upload AI-written HTML presentations and manage expiring, revocable share links over OAuth.
Publish Markdown or HTML to a shareable link from your AI assistant. OAuth, no API keys.
Publish pages straight from Claude as private, branded, tracked links.
Publish and share access-controlled Markdown documents from any MCP-enabled AI tool.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceExposes a SilverBullet note space to Claude via MCP, with OAuth 2.1, collision-safe writes, and structured errors.MIT
- AlicenseAqualityCmaintenanceExposes analytics from Claude Code transcripts as MCP tools, enabling cost, audit, safety, and efficiency queries through natural language.4MIT
- AlicenseNot gradedqualityBmaintenanceEnables publishing and updating Claude artifacts or HTML to private, access-controlled links directly from Claude.1AGPL 3.0
- AlicenseNot gradedqualityCmaintenanceEnables importing Claude Code and opencode session history into a searchable memory store and surfacing improvement suggestions, accessible from any MCP-capable client.13MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/douglance/footon'
If you have feedback or need assistance with the MCP directory API, please join our Discord server