EnvMem

EnvMem

Personal environment variable memory with semantic search and project management. Enables storing, searching, and retrieving environment variables via MCP, supporting project organization and auto-fill of .env files.

Category
Visit Server

README

EnvMem

EnvMem Hero

Your Environment Variables, Always at Hand

Personal environment variable memory with semantic search and project management. Multi-tenant MCP server that remembers all your API keys, secrets, and configurations.

npm version License: ISC

Live: envmem.com | NPM: npmjs.com/package/envmem

EnvMem Terminal

Features

  • Semantic Search - Natural language queries powered by Cloudflare Vectorize
  • Project Management - Organize envs by project with dev/staging/prod environments
  • Auto-Fill .env - Parse .env.example and fill with your stored values
  • Multi-Tenant Isolation - Each API key gets completely isolated storage
  • MCP Protocol - Works with Claude, ChatGPT, and any MCP-compatible AI
  • Service Bundles - Get all env vars for Stripe + Supabase + OpenAI in one query
  • Edge-Native - Sub-50ms responses from 300+ global locations

🚀 Quick Start & MCP Configuration

EnvMem is designed to work seamlessly with any MCP-compatible client (like Claude Desktop, Cursor, or your own tools).

Option 1: Claude Desktop (Recommended)

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "envmem": {
      "command": "npx",
      "args": ["-y", "envmem"],
      "env": {
        "ENVMEM_API_KEY": "your-secret-api-key"
      }
    }
  }
}

Note: Generate your API key at envmem.com or use any random string (it acts as your personal partition).

Option 2: Remote MCP (No Node.js required)

If your MCP client supports remote URLs (SSE), you can connect directly without running anything locally:

{
  "mcpServers": {
    "envmem": {
      "url": "https://envmem.com/mcp?apikey=your-secret-api-key"
    }
  }
}

Usage

1. Import Your Variables

import_env_variables({
  envText: `
    OPENAI_API_KEY=sk-...
    STRIPE_SECRET_KEY=sk_live_...
    DATABASE_URL=postgres://...
  `
})

2. Create a Project

create_project({
  name: "my-saas",
  repoUrl: "github.com/me/my-saas",
  tags: ["nextjs", "stripe", "supabase"]
})

3. Link Services to Project

link_services_to_project({
  projectName: "my-saas",
  services: ["Stripe", "Supabase", "OpenAI", "Clerk"]
})

4. Get Complete .env File

get_envs_for_project({
  projectName: "my-saas",
  environment: "prod"
})
// Returns ready-to-use .env file content

5. Auto-Fill from .env.example

fill_env_example({
  envExampleContent: `OPENAI_API_KEY=\nSTRIPE_SECRET_KEY=\nDATABASE_URL=`,
  projectName: "my-saas"
})
// Returns filled .env with your stored values

MCP Tools

Search & Retrieve

Tool Description
search_env_variables Semantic + keyword search
get_env_by_name Get by exact name
get_envs_for_services Get all vars for services
list_env_categories List categories with counts

Import & Manage

Tool Description
import_env_variables Bulk import from .env text
add_env_variable Add single variable
delete_env_variable Delete by name
clear_all_env_variables Delete all (requires confirm)

Project Management

Tool Description
create_project Create project with repo URL + tags
list_projects List all your projects
link_env_to_project Link env to project (dev/staging/prod)
link_services_to_project Bulk link services to project
get_envs_for_project Get .env file for project
fill_env_example Auto-fill .env.example
delete_project Delete project + links

Typical Workflow

// 1. Import your envs once
import_env_variables({ envText: "..." })

// 2. Create project
create_project({ name: "autoclient", repoUrl: "github.com/me/autoclient" })

// 3. Link services
link_services_to_project({
  projectName: "autoclient",
  services: ["Stripe", "Supabase", "OpenAI"]
})

// 4. Get .env for deployment
get_envs_for_project({ projectName: "autoclient", environment: "prod" })

Categories

Category Examples
ai_services OpenAI, Anthropic, Google AI
database Supabase, PlanetScale, MongoDB
payment Stripe, PayPal, SumUp
auth Auth0, Clerk, Firebase
email SendGrid, Mailjet, Resend
deployment Vercel, Netlify, Railway
storage S3, Cloudflare R2, Cloudinary
monitoring Sentry, Datadog

Authentication

Your API key creates isolated storage. Generate one:

openssl rand -hex 16

Pass via:

  • Header: x-api-key: your-key
  • Bearer: Authorization: Bearer your-key
  • Query: ?apikey=your-key

Self-Hosting

git clone https://github.com/samihalawa/envmem-mcp.git
cd envmem-mcp
npm install

# Create Cloudflare resources
wrangler d1 create env-reference-db
wrangler vectorize create env-embeddings --dimensions=768 --metric=cosine

# Apply migrations
wrangler d1 migrations apply env-reference-db --remote

# Deploy
wrangler deploy

Tech Stack

  • Runtime: Cloudflare Workers
  • Embeddings: Workers AI (bge-base-en-v1.5, 768-dim)
  • Vector Search: Cloudflare Vectorize
  • Database: Cloudflare D1 (SQLite + FTS5)
  • Protocol: MCP (Model Context Protocol)

License

ISC

Built with care for developers who forget their env var names.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured