Quickstart

Get Janee running in under 5 minutes.

1 Install

npm install -g @true-and-useful/janee

Or use npx to run without installing:

npx @true-and-useful/janee

2 Initialize & add a service

janee init

This creates ~/.janee/config.yaml with example configuration. Then add a service:

janee add github

Or edit the config directly:

# ~/.janee/config.yaml
services:
  github:
    baseUrl: https://api.github.com
    auth:
      type: bearer
      key: ghp_your_token_here  # encrypted at rest

capabilities:
  github_readonly:
    service: github
    ttl: 1h
    policies:
      - effect: allow
        methods: [GET]
        paths: ["/repos/**", "/user"]

💡 Secrets stay safe. Keys are encrypted in ~/.janee/. When an agent calls an API through Janee, the real credentials are injected server-side — the agent never sees them.

3 Start Janee

janee serve

Janee starts an MCP server on stdio. Your agent can now call the configured APIs through Janee's secure proxy.

4 Connect your MCP client

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "janee": {
      "command": "janee",
      "args": ["serve"]
    }
  }
}

Cursor

Add to your .cursor/mcp.json:

{
  "mcpServers": {
    "janee": {
      "command": "janee",
      "args": ["serve"]
    }
  }
}

Windsurf

Add to your ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "janee": {
      "command": "janee",
      "args": ["serve"]
    }
  }
}

5 Use it

Ask your agent to use the API. For example:

"List my GitHub repositories"

The agent calls Janee's http_request tool, Janee injects the bearer token, makes the request, and returns the response — all without the agent ever seeing your GitHub token.

Next steps