Skip to main content
Glama

Growth Eng MCP

Growth Eng MCP is a Model Context Protocol server built with FastMCP and Bun. It exposes tools, prompts, and resources that let an AI agent act as a growth engineer: ideating, shipping, and measuring experiments without human intervention.

Based on mcpdotdirect/template-mcp-server.

Install the MCP

The package isn't published to npm. npx/bunx install it straight from GitHub, so setup is a single command:

npx -y github:kamerontanseli/growth-eng

Requirements

  • Bun v1.0 or later, on your PATH — the executable is TypeScript with a bun shebang, so Bun is required even when the server is launched through npx

Connect to your MCP client

The server communicates over stdio.

Claude Code

claude mcp add growth-eng -- npx -y github:kamerontanseli/growth-eng

Claude Desktop / Cursor / other clients

Add the following to your claude_desktop_config.json (or equivalent MCP config):

{
  "mcpServers": {
    "growth-eng": {
      "command": "npx",
      "args": ["-y", "github:kamerontanseli/growth-eng"]
    }
  }
}

If you'd rather skip the npm layer, use bunx instead:

{
  "mcpServers": {
    "growth-eng": {
      "command": "bunx",
      "args": ["github:kamerontanseli/growth-eng"]
    }
  }
}

Once connected, the server's tools (like hello_world and goodbye), prompts, and resources are available to the agent.

Run from source

git clone https://github.com/kamerontanseli/growth-eng.git
cd growth-eng
bun install
bun start   # stdio server

Run over HTTP (optional)

For setups where stdio isn't an option, the server also supports SSE transport:

bun run start:http

By default it listens on http://localhost:3001 with the SSE endpoint at /sse. Set the PORT environment variable to change the port:

PORT=8080 bun run start:http

Related MCP server: AfterLaunch

The knowledge base

The framework operates out of a .growth-eng/ directory in your repository:

.growth-eng/
├── _template_.md   # the canonical experiment template
└── _images/        # control/variant screenshots and designs

Run the init prompt to bootstrap it. The MCP returns step-by-step instructions and the template verbatim; the agent then creates the files, and never overwrites an existing _template_.md. Experiments are added later as .growth-eng/<feature>/<experiment>.md, each a copy of the template, with screenshots and designs stored in .growth-eng/_images/<experiment>/.

Testing

Tests use @mcpjam/sdk and Bun's built-in test runner, with the MCP server booted over stdio by the test harness (tests/harness.ts).

bun test            # everything: direct tool tests + LLM agent tests + evals
bun test tests/tools.test.ts         # direct tool/prompt/resource execution, no LLM needed
bun test tests/agent.test.ts         # LLM tool-selection tests
bun test tests/init-prompt.test.ts   # user-selected init prompt is rendered by the client and drives the agent to create .growth-eng/ and write _template_.md in a sandbox
bun test tests/evals.test.ts         # statistical eval suite

Configuration lives in .env (see .env.example):

  • OPENROUTER_API_KEY — required by the LLM tests. The agent runs openai/gpt-6-luna on OpenRouter with medium reasoning; tests that need the LLM skip when the key is absent.

Everything runs locally: no MCPJam account or key is involved. The statistical evals run N iterations per case (10 by default, override with EVAL_ITERATIONS) and gate on 90% aggregate tool-routing accuracy.

Development

bun run dev        # Start the stdio server with auto-reload
bun run dev:http   # Start the HTTP server with auto-reload
bun run lint       # Lint with oxlint
bun run fmt        # Format with oxfmt
bun run build      # Build to ./build

Project structure

src/
├── index.ts              # stdio entrypoint
├── server/
│   ├── server.ts         # FastMCP server setup and registration
│   └── http-server.ts    # SSE transport entrypoint
└── core/
    ├── tools.ts          # Tool definitions
    ├── prompts.ts        # Prompt definitions
    ├── resources.ts      # Resource definitions
    ├── utils.ts          # Shared string utilities
    └── services/         # Business logic behind the tools

To add a capability, define the logic in a service under src/core/services/, then register a tool, prompt, or resource in src/core/tools.ts, prompts.ts, or resources.ts.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to search and retrieve market signals, revenue ideas, and growth tactics from 2,000+ curated entries across 18 sources.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Growth marketing, SEO and GEO as agent tools: 29 tools for AI answer visibility across ChatGPT, Gemini, Perplexity and Google AI Overviews, a ranked backlog of growth moves, drafted deliverables, and ship actions. Hosted remote server at https://afterlaunch.io/api/mcp.
    2
    MIT
  • A
    license
    C
    quality
    B
    maintenance
    Equips AI coding agents with 62 production-grade tools across 28 modules for persistent memory, live GitHub scouting, UI/UX design, DevOps, security, performance auditing, and SEO/AEO/GEO optimization, enabling automated, development workflows.
    63
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Gives AI coding agents a project's growth context, exposing site audits, prioritized findings, live analytics, ad, search, and lifecycle marketing data, and session-replay insights so they can answer growth questions and recommend next steps. Also provides action tools to provision measurement, provision ad resources, and turn findings into reviewable code-fix workflows such as pull requests, diffs, and previews.
    68 npm
    MIT