Skip to content

Releases: eastlondoner/emceepee

v0.4.3 - Fix add_server headers in stdio transport

18 Jan 12:30

Choose a tag to compare

Bug Fix

Fixed missing headers parameter in the add_server tool when using the stdio transport (server-stdio.ts).

PR #2 added headers support to server.ts but the stdio entry point was not updated, meaning custom headers could not be passed when adding MCP servers via stdio transport.

Changes

  • Add headers to inputSchema in server-stdio.ts
  • Pass headers to sessionManager.addServer()

Full Changelog

v0.4.2...v0.4.3

v0.4.2

16 Jan 14:43

Choose a tag to compare

What's New

New Features

  • --no-codemode CLI flag: Disable codemode tools when starting emceepee
  • EMCEEPEE_NO_CODEMODE environment variable: Alternative way to disable codemode

Usage

# Via CLI flag
npx emceepee --no-codemode
npx emceepee-http --no-codemode

# Via environment variable
EMCEEPEE_NO_CODEMODE=1 npx emceepee

Full Changelog: v0.4.1...v0.4.2

v0.4.1 - Documentation

16 Jan 13:52

Choose a tag to compare

Documentation

Added comprehensive documentation for the Codemode API to README.md:

  • What codemode is (reduced-context API with 2 tools)
  • The two tools: codemode_search and codemode_execute
  • Complete mcp.* API reference
  • Example showing multi-step JavaScript operation
  • Security features (timeout, blocked globals, call limits)
  • Configuration via codemodeEnabled option
  • Updated testing section

Full Changelog

v0.4.0...v0.4.1

v0.4.0 - Codemode API

16 Jan 06:14

Choose a tag to compare

New Features

Codemode API

A new reduced-context API for AI to interact with MCP servers via JavaScript code execution. Instead of exposing dozens of tools, codemode exposes just 2 tools that dramatically reduce context usage:

  • codemode_search - Search for MCP capabilities (tools, resources, prompts, servers) across all connected backends using regex patterns
  • codemode_execute - Execute JavaScript code in a sandboxed environment with access to the mcp.* API

Available mcp.* API

// Server discovery
mcp.listServers()

// Tool operations  
mcp.listTools(serverPattern?)
mcp.callTool(server, tool, args?)

// Resource operations
mcp.listResources(serverPattern?)
mcp.listResourceTemplates(serverPattern?)
mcp.readResource(server, uri)

// Prompt operations
mcp.listPrompts(serverPattern?)
mcp.getPrompt(server, name, args?)

// Utilities
mcp.sleep(ms)
mcp.log(...args)

Security Features

  • Sandboxed VM execution with blocked dangerous globals (process, require, eval, fetch, etc.)
  • Configurable timeout (1s - 5min, default 30s)
  • MCP call limit enforcement (default 100 calls)
  • Code length limits (100KB max)

Improvements

  • Request tracking integration for waterfall UI debugging
  • Structured logging for codemode executions
  • Comprehensive test suite (52 tests)

Bug Fixes

  • Fixed timeout timer leak in sandbox execution
  • Fixed unsafe status cast for server info
  • Added missing "resource" content type handling
  • Warning logs from API operations are now captured in results

Full Changelog

v0.3.6...v0.4.0

v0.3.6

15 Jan 02:52
d86df56

Choose a tag to compare

What's New

Custom Headers for HTTP MCP Servers

You can now specify custom headers when connecting to HTTP MCP servers via the add_server tool. This enables authentication with servers that require Authorization headers or other custom headers.

Example usage:

add_server(
  name: "my-server",
  url: "http://localhost:3001/mcp",
  headers: {
    "Authorization": "Bearer your-token",
    "X-Custom-Header": "value"
  }
)

Headers are preserved during automatic reconnection attempts.

Full Changelog

  • feat: add custom headers support for HTTP MCP servers (#2)