mcpField
P
Posy

Posy

Remote
posy.pageSocial Media9Updated 1w ago

About Posy

Posy is an open-source link-in-bio page builder for people who want to publish and edit a personal page themselves or with AI. It combines visual styles and tile layouts with a portable JSON page file.

Key features

  1. 01Build pages from links and tiles
  2. 02Choose looks, palettes, and layouts
  3. 03Edit drafts with an editor or AI
  4. 04Import and export page.json
  5. 05Publish or self-host pages

Use cases

  1. 01Create a personal link-in-bio page
  2. 02Let an AI arrange and update page content
  3. 03Move a page between hosted and self-hosted Posy
  4. 04Publish links, social profiles, images, and media

MCP support

Posy provides a hosted MCP server at https://posy.page/api/mcp. MCP clients can create and edit page drafts, configure their appearance, and publish them.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://posy.page/api/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

Details

From the project README
posy: a link in bio that looks like you made it by hand. A girl works at her desk on a floating island in a painted sky, with a kite flying beside her.
Posy is a link-in-bio page that looks hand-made.

Pick a look, add your links, publish. Edit it yourself, or let your AI do it.
Free and open source. Use it at posy.page or run it yourself.

CI MIT licence Version Official MCP registry Docs GitHub stars

Website · Docs · Connect your AI · Self-host · Contributing

Add to Cursor Install in VS Code Install in VS Code Insiders Add to Claude Install in Goose Set up ChatGPT

README image

What is Posy

Posy is a link-in-bio page that looks hand-made. You pick a look, add your links, and publish. Edit it yourself in a calm studio, or ask your AI to do it for you. Your page is one small JSON file you can take anywhere.

Three steps: 1, pick a look. 2, add your links, and Posy turns each one into the right tile. 3, publish to posy.page/you, or ask your AI to do all three.

README image

The looks

The same links, drawn as a wooden desk with polaroids, a Japanese print, a desktop left open, a watercolour, a two-ink print or a netrunner's screen. Each look has four palettes, and you can switch any time.

A short tour of the looks on a desktop: Desk, Washi, Lofi, Painted, Cobalt and Night.

Desk: a wooden desk with polaroids, a record and letters.Washi: a Japanese print with rice paper, ink and a red seal.Lofi: a desktop left open where every tile is a window.
Painted: watercolour paper, letters and wax seals.Cobalt: a vintage print in two inks, under a crescent moon.Night: a netrunner's screen with one signal colour.

On posy.page, Painted, Desk and Lofi are free, and the others come with Pro. Self-hosted, every look is unlocked. See them live in the looks gallery.

See each look on a desktop
Desk: a wooden desk with polaroids, a record and letters.Washi: a Japanese print with rice paper, ink and a red seal.
Lofi: a desktop left open where every tile is a window.Painted: watercolour paper, letters and wax seals.
Cobalt: a vintage print in two inks, under a crescent moon.Night: a netrunner's screen with one signal colour.
Tiles, palettes and layouts
TileWhat it shows
LinkFavicon, title and an optional preview image
Social29 platforms (X, Instagram, GitHub, LinkedIn, YouTube, TikTok, Bluesky, Threads, Substack…) and email
NoteShort text with bold, italic and links
SectionA heading that starts a new group of tiles
ImageYour photo or artwork, with an optional caption and link
VideoYouTube, loads only when played
MusicSpotify embed
GitHubA repo with live stars and language, refreshed daily

Three layouts: bento (a grid), list (one column) and canvas (place tiles freely). Photos can be printed natural, mono, dither or ascii. On top of each look's palettes: Cream, Lavender, Mint, Sky, Peach, Paper, Blush, Sage, Midnight, Mocha, Dusk and Ocean, any accent colour, and font pairs.

README image

Make your page

Claim your name at posy.page. Paste a link anywhere to add a tile, drag to arrange, and press Publish. Your page is live in a minute.

Just looking? Open posy.page/new, paste a few links and see your page before you sign up.

Free, Pro and self-hosted
posy.page Freeposy.page ProSelf-hosted
Tiles, editor, API, MCP, CLIAllAllAll
LooksPainted, Desk, LofiAllAll
Your own domainNoYes, HTTPS set up for youYes, point it at your server
AnalyticsBasic12 months + CSV12 months + CSV
"Made with Posy" footerShownHide itHide it
Setup and upkeepNoneNoneYou

Pro is $5 a month or $48 a year. Your page works the same everywhere: Settings → Download page.json on one, Import page.json on the other.

README image

Connect your AI

Posy has a hosted MCP server, so your AI can make and edit your page. You sign in with your Posy account; there is no key to copy. Everything it does lands in your draft, and nothing goes live until you, or it, publish.

https://posy.page/api/mcp

One click

Add to Cursor Install in VS Code Install in VS Code Insiders Add to Claude Install in Goose

A few steps

Set up ChatGPT Set up Claude Code Set up Codex

claude mcp add --transport http posy https://posy.page/api/mcp   # Claude Code, then /mcp → Authenticate
codex mcp add posy --url https://posy.page/api/mcp               # Codex

In ChatGPT, open Plugins, press +, choose Add custom MCP server, paste the URL and pick OAuth. On your own server, use https://YOUR-POSY/api/mcp. Posy is in the official MCP registry as io.github.Himanshu-Sangshetti/posy.

No connector? Hand it a page file

Any chat can write your page as one small JSON file. Paste it at posy.page/new and it becomes a page.

A JSON page file on the left, with name Mira Sol, look washi and a few links. An arrow points to the same page rendered in the Washi look on a phone.

Or skip the file: an AI can hand you a link that opens a live preview, no sign-in needed.

https://posy.page/new?name=Mira%20Sol&look=washi&links=https://github.com/mira,[email protected]
The page file, MCP tools, REST, llms.txt and the CLI
{
  "posy": 1,
  "name": "Mira Sol",
  "bio": "Writer and editor.",
  "location": "Lisbon",
  "look": "washi",
  "links": [
    "https://substack.com/@mira",
    "https://x.com/mira",
    "[email protected]",
    { "heading": "Writing" },
    "https://mira.so/letters"
  ]
}

Every field: the page file.

ToolWhat it does
get_pageYour draft, public URL, and what to do next
create_pageClaim a username and create your page (once)
import_pageLoad a whole page from a page file
add_tileAdd one link, or many at once. Posy picks the right tile
update_tile, move_tile, remove_tileChange, reorder or delete a tile
set_theme, set_profileLook, colours, fonts, name and bio
publishMake the draft live
list_optionsAllowed looks, palettes, fonts and sizes
SurfaceWhere
REST/api/v1/page with a Bearer key from the Agents page. Spec: /openapi.json, guide: API reference
Public JSON/api/v1/public/<username> for any published page
llms.txtposy.page/llms.txt for the app, /<username>/llms.txt for any page
Schemasschema/page.schema.json and /schema/brief.schema.json
PluginClaude Code and Cursor skills in plugin/
export POSY_URL=https://posy.page POSY_API_KEY=posy_...
npm run posy -- add https://github.com/owner/repo --size w
npm run posy -- theme --preset moonlit --layout list
npm run posy -- publish

Full guide: docs/ai-agents.md. Working on this repo with a coding agent? Read AGENTS.md.

README image

Run it yourself

Deploy with Vercel

Or with Docker:

git clone https://github.com/Himanshu-Sangshetti/posy.git && cd posy
docker build -t posy . && docker run -p 3000:3000 -v posy-data:/data \
  -e NEXT_PUBLIC_SITE_URL=http://localhost:3000 -e BETTER_AUTH_URL=http://localhost:3000 \
  -e BETTER_AUTH_SECRET=$(openssl rand -base64 32) posy

Open http://localhost:3000 and sign up: the first account owns the instance, and every look is unlocked. Domains, backups and every setting: self-hosting guide · .env.example

Built with

Next.js 16 · React 19 · TypeScript · Tailwind CSS 4 · Motion · dnd-kit · shadcn/ui · Better Auth · Drizzle + libSQL · Zod · MCP

One schema, src/lib/schema.ts, describes a page. It drives the JSON Schema, the REST API, the MCP tools and the editor, so they never drift apart.

How the pieces fit
flowchart LR
  studio["Studio<br/>(browser)"] --> app
  agent["AI agents"] -- "MCP /api/mcp" --> app
  scripts["Scripts, CLI"] -- "REST /api/v1" --> app
  app["Next.js app<br/>page schema in Zod"] --> db[("SQLite or Turso<br/>(Drizzle + libSQL)")]
  app --> files[("Uploads<br/>data dir or Vercel Blob")]
  app --> page["/username<br/>+ llms.txt + public JSON"]
WhereWhat
src/components/page/styles/The looks, one .tsx + .css each
src/components/studio/The editor
src/app/api/REST (v1), MCP (mcp), auth and uploads
src/lib/Schema, looks, palettes, fonts, link detection

From source: npm install && npm run dev (Node 22 or 24). Your local data lives in ~/.posy.

Contributing

Issues and pull requests are welcome. Start with CONTRIBUTING.md.

  • Add a look. A look is a .tsx and a .css file plus a lab page to check it in every palette. The steps: Adding a look.
  • Pick up an issue. Good first issues and look ideas are a nice place to begin.
  • Before a PR: npm run check, npm test, and npm run e2e for UI changes.

Community, security and licence

  • Questions and ideas: issues. Please follow the Code of Conduct.
  • Found a vulnerability? See SECURITY.md and report it privately.
  • Posy is MIT licensed. The art that ships with the looks is public domain, CC0, or made for Posy; every file and its source is in public/looks/CREDITS.md. Some of it was generated with Krea 2, whose community licence allows commercial use only while your company makes under US$1M a year. Read the note in the credits file first.
  • Brand files and colours: BRAND.md.

A painted meadow of wildflowers

Made by hand, with a cat asleep on the desk.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.