profilekit-mcp
The profilekit-mcp server lets you discover, configure, and generate GitHub profile SVG card URLs and embeddable snippets through any MCP-capable AI agent (e.g. Claude Code, Codex CLI, ChatGPT Apps).
List card types (
list_cards): Retrieve a live-synced catalog of all supported ProfileKit card types (e.g.stats,pin,hero,snake,leetcode,timeline,stack,matrix, and more), along with descriptions and required parameters for each.List themes (
list_themes): Get all built-in themes (e.g.tokyo_night,kanagawa,dracula,rose_pine,nord) that can be applied to any card via?theme=<name>.Render cards (
render): Generate a complete card URL plus ready-to-paste Markdown and HTML embedding snippets for a given card type and parameters — without fetching the SVG itself, keeping responses lightweight and side-effect-free.Supports card-specific parameters (e.g.
username,repo,theme) as key/value pairs.Supports custom color palettes via
?theme_url=pointing to a raw JSON Gist.Supports optional custom alt text for the generated Markdown snippet.
Always up to date: Card definitions are fetched live from ProfileKit's API, so the latest card types and parameters are always available without manual updates.
The rendered cards can be embedded in dev.to articles via markdown or HTML snippets.
Provides tools to build GitHub profile SVG cards, such as stats cards, pin cards, and hero banners, for embedding in GitHub READMEs.
The rendered cards can be embedded in Hashnode blog posts via markdown or HTML snippets.
The rendered cards can be used as Notion cover images.
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., "@profilekit-mcpRender a tokyo_night stats card for heznpc"
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.
profilekit-mcp
MCP server for ProfileKit. Build GitHub profile SVG cards through conversation — from Claude Code, Codex CLI, ChatGPT Apps, or any other MCP-capable agent.
Currently implemented
3 tools over stdio MCP:
list_cards,list_themes,render.Card types covering data (stats, pin, leetcode, …), blog layout (hero, section, timeline, …), animations (typing, snake, matrix, …), composition (
stack), and utility (health) — exact set returned live bylist_cards.Built-in themes (
tokyo_night,kanagawa,rose_pine,dracula,nord, …) — pass?theme=<name>to any card; exact set returned live bylist_themes.Dynamic catalog sync from
https://profilekit.vercel.app/api/catalog, cached per process; falls back to a bundled snapshot if the fetch fails.Custom palettes via
?theme_url=<gist-raw-url>(supported on/statsand/stackas of ProfileKit v1).Published as
@heznpc/profilekit-mcpon npm.
Planned
compose_readme(sections)tool — return a full blog-layout README snippet in one call.Palette suggestion tool backed by the caller's own vision/LLM capability — no built-in model calls.
Design intent
URL-only, never inlines SVG.
renderreturns a URL plus markdown / HTML snippets; the SVG is fetched by the eventual<img>consumer (GitHub, dev.to, Notion, …). Tool responses stay small, side-effect-free, and embeddable anywhere external images are allowed.One MCP server, three agents. After OpenAI and Anthropic co-announced MCP Apps in early 2026, a single stdio server covers Claude Code + Codex CLI + ChatGPT Apps natively — no per-platform adapter.
Live catalog over hardcoded list. Card definitions live in ProfileKit's
/api/catalog, so when ProfileKit ships a new card the MCP server picks it up without a republish. The bundled fallback exists only so cold/offline starts still work.No ranking, composable presentation. Mirrors ProfileKit's stance — every card is an independent SVG that the user composes, not a leaderboard.
Non-goals
Inlining card SVG into tool responses. The MCP server intentionally does not fetch card content. Agents that need to reason over the markup can fetch the URL themselves.
Built-in model calls. Future "suggest a palette" or "describe this card" features delegate to the calling agent's own LLM — this server never makes outbound LLM API calls.
Ranking, leaderboards, or rendering opinions in the tool surface.
Redacted
(none for this repo)
Install
npm install -g @heznpc/profilekit-mcpRegister with your agent
Claude Code — add to .claude/settings.json in your repo:
{
"mcpServers": {
"profilekit": { "command": "profilekit-mcp" }
}
}Codex CLI — add to ~/.codex/config.toml:
[mcp_servers.profilekit]
command = "profilekit-mcp"ChatGPT Apps — (Apps SDK MCP adapter; see the Apps SDK docs for wire-up)
Usage
Inside any registered agent, just ask:
> What ProfileKit cards exist?
> Render a tokyo_night stats card for heznpc.
> Give me a hero banner saying "heznpc" with subtitle "Building the ecosystem AI lives in", wave background, space-grotesk font.
> Build a kanagawa-themed pin card for heznpc/ProfileKit.The agent will invoke list_cards / list_themes / render under the hood and hand you back a URL + markdown snippet ready to paste into your README.
Tools
Tool | Description |
| Enumerate every card type returned by the live catalog, with descriptions and required params |
| List the built-in themes |
| Build a card URL + markdown + HTML snippet for a given type and params |
Example conversation
You: Render a pin card for heznpc/anvil using the rose_pine theme.
Agent: [calls render(type="pin", params={username: "heznpc", repo: "anvil", theme: "rose_pine"})]
URL:
https://profilekit.vercel.app/api/pin?username=heznpc&repo=anvil&theme=rose_pine
Markdown:

HTML:
<img src="https://profilekit.vercel.app/api/pin?username=heznpc&repo=anvil&theme=rose_pine" alt="pin" />License
MIT © heznpc
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Latest Blog Posts
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/heznpc/profilekit-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server