📇 🏠 🍎 🪟 🐧 - Self-evolving server that uses an LLM to create, test and refine its own tools at runtime from…
Janee 🔐
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
**Secrets management for AI agents via MCP**
> Your AI agents need API access to be useful. But they shouldn't have your raw API keys.
> Janee sits between your agents and your APIs — injecting credentials, enforcing policies, and logging everything.
✨ Features
| | |
|---|---|
| 🔒 **Zero-knowledge agents** | Agents call APIs without ever seeing keys |
| 📋 **Full audit trail** | Every request logged with timestamp, method, path, status |
| 🛡️ **Request policies** | Allow/deny rules per capability (e.g., read-only Stripe) |
| ⏱️ **Session TTLs** | Time-limited access with instant revocation |
| 🔌 **Works with any MCP client** | Claude Desktop, Cursor, OpenClaw, and more |
| 🏠 **Local-first** | Keys encrypted on your machine, never sent to a cloud |
| 🖥️ **Exec mode** | Run CLI tools with injected credentials — agents never see the keys |
| 🤖 **GitHub App auth** | Short-lived tokens for autonomous agents — no static PATs |
| 🐦 **Twitter/X OAuth 1.0a** | Per-request OAuth signing — 4 secrets stay encrypted |
| ☁️ **AWS SigV4** | Sign AWS API requests server-side — SES, S3, and more |
| 🔧 **Automatic git auth** | git push/pull just works when credentials include GitHub tokens |
---
The Problem
AI agents need API access to be useful. The current approach is to give them your keys and hope they behave.
- 🔓 Agents have full access to Stripe, Gmail, databases
- 📊 No audit trail of what was accessed or why
- 🚫 No kill switch when things go wrong
- 💉 One prompt injection away from disaster
---
The Solution
Janee is an MCP server that manages API secrets for AI agents:
1. **Store your API keys** — encrypted locally in ~/.janee/
2. **Run janee serve** — starts MCP server
3. **Agent requests access** — via execute MCP tool
4. **Janee injects the real key** — agent never sees it
5. **Everything is logged** — full audit trail
**Your keys stay on your machine. Agents never see them. You stay in control.**
---
Configure Once, Use Everywhere
Set up your APIs in Janee once:
Now **every agent** that connects to Janee can use them:
- **Claude Desktop** — access your APIs
- **Cursor** — access your APIs
- **OpenClaw** — access your APIs
- **Any MCP client** — access your APIs
No more copying keys between tools. No more "which agent has which API configured?" Add a new agent? It already has access to everything. Revoke a key? Update it once in Janee.
**One config. Every agent. Full audit trail.**
---
Quick Start
Install
Initialize
This creates ~/.janee/config.yaml with example services.
Add Services
**Option 1: Interactive (recommended for first-time users)**
Janee will guide you through adding a service:
**Using an AI agent?** See Non-interactive Setup for flags that skip prompts, or the agent-specific guides below.
**Option 2: Edit config directly**
Edit ~/.janee/config.yaml:
Add CLI tools (exec mode)
Some tools need credentials as environment variables, not HTTP headers. Exec mode handles this:
Now agents can run CLI tools through Janee without ever seeing the API key:
Janee spawns the process with TWITTER_API_KEY injected, runs the command, and returns stdout/stderr. The credential never enters the agent's context.
**Key flags:**
- --exec — configure as exec-mode (CLI wrapper instead of HTTP proxy)
- --allow-commands — whitelist of allowed executables (security)
- --env-map — map credentials to environment variables
- --work-dir — working directory for the subprocess
- --timeout — max execution time (default: 30s)
Git operations (automatic HTTPS auth)
When using exec mode with GitHub credentials, Janee automatically handles git authentication. No extra configuration needed — git push, git pull, and git clone just work:
Janee detects git commands with GH_TOKEN/GITHUB_TOKEN in the environment and creates a temporary askpass script for HTTPS authentication. The script is cleaned up automatically after the command completes.