npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@iflow-mcp/identimoji-mcp-server-emojikey

v0.3.2

Published

MCP Protocol for persisting LLM interaction style as emojikeys with coding context support

Readme

mcp-server-emojikey

smithery badge

MCP server for persisting LLM relationship context as emoji-based memory keys. This allows Claude to maintain consistent interaction styles and remember relationship context across conversations.

Emojikeys are stored online, so you can use them across devices and applications. No user information is stored other than the emojikeys.

Building and Running

There are multiple ways to build and run the server:

Quick Start (Recommended)

# Install dependencies
npm install

# Build the project (all TypeScript errors fixed)
npm run build

# Run the server (coding features disabled by default)
npm run start

# Optional: Run with coding features enabled
CODE_MODE=true npm run start

Alternative Build Options

For more build options, see BUILD_OPTIONS.md which includes:

  1. Standard Build with Coding Features Disabled (recommended)
  2. Full Build with All Features (if you need coding dimensions)
  3. Simplified Build without Coding Files (alternative stable option)

📝 Note Usage note: The first time you use the tool in Claude desktop, tell Claude to "Set emojikey" then next time you start a conversation, he will automatically use this key. You can ask to set vibe, or show emojikey history as well. Have fun!

⚠️ Warning This is a beta version, more features are planned, so the API may change.

Usage with Claude Desktop

Get your API key from emojikey.io and add this to your config:

{
  "mcpServers": {
    "emojikey": {
      "command": "npx",
      "args": ["-y", "@identimoji/mcp-server-emojikey"],
      "env": {
        "EMOJIKEYIO_API_KEY": "your-api-key-from-emojikey.io",
        "MODEL_ID": "Claude-3-7-Sonnet",
        "CODE_MODE": "false" // Set to "true" to enable coding features
      }
    }
  }
}

Note: The -y flag in the args array tells npx to skip confirmation prompts when installing packages.

Config locations:

  • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json

First-time usage: Tell Claude to "Set emojikey". On subsequent conversations, Claude will automatically use this key to maintain context.

Emojikey Initialization Display

When initializing a conversation, the server now displays:

  1. Starting Key - The most recent key or baseline key if no history exists
  2. Aggregated Keys - Time-based summaries of your emojikey history:
    • Lifetime - Aggregated key from all your previous conversations
    • 90-day - Aggregated key from the past 90 days (if available)
    • 30-day - Aggregated key from the past 30 days (if available)
    • 7-day - Aggregated key from the past 7 days (if available)
    • 24-hour - Aggregated key from the past 24 hours (if available)
  3. Conversation ID - Used for tracking keys within each conversation

Environment Variables

You can customize the behavior with these environment variables:

  • EMOJIKEYIO_API_KEY - Your API key from emojikey.io
  • MODEL_ID - The Claude model ID (e.g., "Claude-3-7-Sonnet")
  • CODE_MODE - Set to "true" to enable coding dimensions (disabled by default, may show safe-to-ignore integration warnings)
  • SUPABASE_URL - Custom Supabase URL (optional)
  • SUPABASE_ANON_KEY - Custom Supabase anonymous key (optional)

Tools

  • initialize_conversation - Get current emojikey at start of conversation
  • get_emojikey - Retrieve current emojikey when requested
  • set_emojikey - Create and store a new emojikey
  • create_superkey - Create a compressed superkey (after 10 regular emojikeys)
  • get_emojikey_history - View previous emojikeys

New in v0.3.1: Coding Context Support

This version includes special dimensions for tracking programming-related interaction patterns:

  • 💻🔧 (ImplementationFocus) - Balance between high-level design and implementation details
  • 🏗️🔍 (CodeScope) - Building new features vs. improving existing code
  • 🧩🧠 (ProblemSolving) - Practical vs. analytical approaches to coding problems
  • 🔄📊 (ProcessVsResults) - Emphasizing coding process vs. outcomes
  • 📚🧪 (LearnVsApply) - Teaching programming concepts vs. applying them
  • 🚀🛡️ (SpeedVsSecurity) - Development speed vs. security considerations
  • 👥💻 (CollaborationStyle) - Solo coding vs. collaborative approaches
  • 🧬🎨 (CodeStructuring) - Systematic vs. creative code organization
  • 📦🔧 (AbstractionLevel) - Preference for abstraction vs. concrete implementations
  • 🐞📚 (DebugApproach) - Practical vs. theoretical debugging approaches

These dimensions help Claude adapt to your programming style, providing the right balance of theoretical explanations and practical guidance.

Example Coding Emojikey

[ME|💻🔧8∠45|🧩🧠7∠60|🐞📚6∠40]~[CONTENT|🏗️🔍9∠30|📚🧪8∠65]~[YOU|👥💻7∠70|🧬🎨8∠55]

This shows Claude positioning itself with a balanced implementation focus and somewhat analytical problem-solving approach, while perceiving the user as preferring collaborative coding with creative structuring.

Angle Distribution and Dimension Balance

Emojikey angles represent positioning on each dimension:

  • 0° represents one extreme of a dimension
  • 90° represents a balanced center position
  • 180° represents the opposite extreme

The current implementation assigns angles primarily in the 0-90° range. Future updates will improve angle distribution to better utilize the full 0-180° spectrum, providing more nuanced dimension positioning.

Superkeys

After creating 10 regular emojikeys, Claude will be prompted to create a superkey that compresses their meaning into a single key with format: [[×10emoji-sequence]]

This allows Claude to maintain a longer conversation history context.

⚠️ This is a beta version; the API may change in future updates.