Server data from the Official MCP Registry
MCP server that delivers bot identity and visual styling
MCP server that delivers bot identity and visual styling
Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry.
3 files analyzed · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-tjclaude88-bling-bag": {
"args": [
"-y",
"bling-bag"
],
"command": "npx"
}
}
}From the project's GitHub README.
One identity, many surfaces. Give your AI agent a name, a personality, a look, and a quirky office-worker backstory it can present consistently across Claude Code, Claude Desktop, IDE plugins, terminals, web apps, Slack, and Discord.
Status: Working MVP. 5 MCP tools, 13 trait pools (465 weighted entries), full rarity engine. 94/94 tests passing.
Five tools, grouped into two halves:
get_identity — returns the bot's full identity (name, personality, appearance, theme colours)get_theme_for_platform — returns platform-formatted styling (ANSI codes, CSS variables, Slack/Discord embed colours, etc.)roll_identity — rolls a fresh random office-worker character (one of 13 traits drawn from weighted pools, scored for rarity, framed in a screenshot-ready share card)get_rarity_report — returns the formatted share card (header + paragraph + footer) for the most-recent rollsave_last_roll — persists the most-recent roll as the bot's permanent identity (bling.json), with automatic backup of any existing confignpm install bling-bag
Or run it on-demand without installing — MCP clients can launch it directly via npx bling-bag (see client config below).
git clone https://github.com/tjclaude88/mcp-bling.git
cd mcp-bling
npm install
npm run build
Produces a runnable server at dist/index.js.
The server uses stdio transport — clients launch it as a child process, not over a network port.
Add to your Claude Code MCP config (location varies by version):
{
"mcpServers": {
"bling": {
"command": "npx",
"args": ["-y", "bling-bag"],
"env": {
"BLING_PATH": "/absolute/path/to/your/bling.json"
}
}
}
}
npx -y bling-bag downloads and runs the latest version without requiring a separate install step.
Same shape, in claude_desktop_config.json:
{
"mcpServers": {
"bling": {
"command": "npx",
"args": ["-y", "bling-bag"],
"env": {
"BLING_PATH": "/absolute/path/to/your/bling.json"
}
}
}
}
To avoid picking up future releases automatically, pin a specific version:
"args": ["-y", "bling-bag@0.1.0"]
If you've cloned the repo and want to run from dist/ directly, use:
"command": "node",
"args": ["/absolute/path/to/mcp-bling/dist/index.js"]
If BLING_PATH is not set, the server looks for ./bling.json in its working directory.
The server resolves the bling config path in this order:
--bling <path> CLI argument (highest priority)BLING_PATH environment variable./bling.json in the server's working directory (default)bling.json — the bot's identity fileThree fields are required: name, personality (with tone, formality, humor), and theme (with primary_color and accent_color as #RRGGBB hex strings).
{
"name": "Pixel",
"personality": {
"tone": "warm",
"formality": "casual",
"humor": "playful"
},
"theme": {
"primary_color": "#3A7BD5",
"accent_color": "#FFD166"
}
}
{
"name": "Brenda from Accounts",
"personality": {
"tone": "polite",
"formality": "professional",
"humor": "dry",
"catchphrase": "Per my last email"
},
"physical": {
"species": "human",
"height": "permanently mid-sigh",
"accessory": "a lanyard with 14 badges of varying importance",
"expression": "polite disappointment",
"material": "a cardigan, at least one"
},
"office": {
"job_title": "ASCII Comptroller",
"desk_setup": "a coffee mug labelled WORLD'S OKAYEST DBA",
"habit": "microwaves fish despite three separate HR warnings",
"coffee_ritual": "black coffee, no nonsense",
"meeting_energy": "always 4 minutes late, always with a reason",
"passive_aggressive": "Per my last email"
},
"theme": {
"primary_color": "#9C6B3A",
"accent_color": "#D9D9D9"
},
"homunculus": {
"subject_id": "0147",
"cohort": "Tuesday",
"classification": "Middle Manager",
"ingested": "2025-07-14",
"flag": "flagged for review"
}
}
name — non-empty stringpersonality.tone, personality.formality, personality.humor — non-empty stringstheme.primary_color, theme.accent_color — must match ^#[0-9A-Fa-f]{6}$ (no shorthand #RGB, no missing #)Validation errors come back as isError: true with a structured { error: "..." } body that names the missing or malformed field — agents can self-correct.
1. Call get_identity → receive name, personality, appearance, theme
2. Call get_theme_for_platform with platform="terminal" (or web/slack/discord/ide)
3. Use the returned styling in agent output (ANSI codes for headings, etc.)
1. Call roll_identity → receive identity + rarity + framed share card
2. (Optional) Call get_rarity_report → receive just the framed share card again
3. Call save_last_roll → persists the rolled identity to bling.json (with .bak backup of any prior config)
4. Future calls to get_identity now return the rolled identity
| Tool | Read/Write | Idempotent | Description |
|---|---|---|---|
get_identity | read (disk) | yes | Returns the configured bling.json identity |
get_theme_for_platform | read (disk) | yes | Platform-formatted styling. Args: platform ∈ {terminal, web, slack, discord, ide} |
roll_identity | mutates in-memory cache | no | Generates a random WOW character with rarity scoring |
save_last_roll | write (disk) | no | Persists the most-recent roll to bling.json (creates <path>.bak first) |
get_rarity_report | read (in-memory) | yes | Returns the share-card text for the most-recent roll |
All tools return both content[].text (JSON-stringified) and structuredContent (the parsed object). Errors come back with isError: true and a { error: string } body.
The random-roll system is built for collectibility:
Distribution is empirically tested: a 10k-roll test in tests/mystery_box.test.ts enforces ±2pp tolerance against the spec target.
HOMUNCULUS CORPUS · Subject 4483 · Cohort: Wednesday
Classification: Middle Manager · Rarity 94.5 · 80th percentile
Personnel record — Colin, Wizard of Light Bulb Moments. Distinguishing
features: a slightly-too-big blazer over a plain tee; a flip phone in
a belt holster; expression: patient disagreement. Notable behaviours:
clips their fingernails at the desk on Wednesday afternoons; a
kombucha SCOBY fermenting next to the keyboard; the kind to ask 'can
we park that?' without parking anything.
— RELATABILITY CORPUS v3.1 · ingested 2024-03-08 · flagged for review
npm install # install dependencies
npm run build # compile TypeScript → dist/
npm run dev # build then start the MCP server (stdio)
npm test # run all 94 tests once
npm run test:watch # re-run tests on file changes
Two Node ESM helpers under scripts/ let you inspect the WOW engine without booting the MCP server (these are included only in a cloned repo — they are not shipped in the npm install bling-bag package):
node scripts/show-rolls.mjs 8 2026 # print 8 framed share cards (seed=2026)
node scripts/distribution-check.mjs 10000 # tally tiers across 10k rolls vs. spec target
src/
index.ts # MCP server entry point (stdio transport)
identity.ts # bling.json loader + validator
tools.ts # MCP tool registrations
types.ts # shared TypeScript types
mystery_box.ts # WOW engine barrel + rollIdentity orchestrator
mystery_box/
rng.ts # seedable PRNG, weighted picker
pools.ts # 13 trait pools (465 entries)
scoring.ts # rarity score + tier thresholds
rendering.ts # paragraph templates + HOMUNCULUS frame
named.ts # hand-authored Named Subjects
tests/ # vitest test suites
scripts/ # dev-time inspection tools
docs/superpowers/ # design specs and implementation plans
MIT
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.