Skip to main content
Glama
alxspiker

AI Meta MCP Server

README.md
# AI Meta MCP Server

A dynamic MCP server that allows AI models to create and execute their own custom tools through a meta-function architecture. This server provides a mechanism for AI to extend its own capabilities by defining custom functions at runtime.

## Features

- **Dynamic Tool Creation**: AI can define new tools with custom implementations
- **Multiple Runtime Environments**: Support for JavaScript, Python, and Shell execution
- **Sandboxed Security**: Tools run in isolated sandboxes for safety
- **Persistence**: Store and load custom tool definitions between sessions
- **Flexible Tool Registry**: Manage, list, update, and delete custom tools
- **Human Approval Flow**: Requires explicit human approval for tool creation and execution

## Security Considerations

> ⚠️ **WARNING**: This server allows for dynamic code execution. Use with caution and only in trusted environments.

- All code executes in sandboxed environments
- Human-in-the-loop approval required for tool creation and execution
- Tool execution privileges configurable through environment variables
- Audit logging for all operations

## Installation

```bash
npm install ai-meta-mcp-server
```

## Usage

### Running the server

```bash
npx ai-meta-mcp-server
```

### Running with Docker

```bash
# Build the Docker image
docker build -t ai-meta-mcp-server .

# Run the container
docker run --rm -i ai-meta-mcp-server

# Run with custom configuration and persistent storage
docker run --rm -i \
  -e ALLOW_PYTHON_EXECUTION=true \
  -e ALLOW_SHELL_EXECUTION=false \
  -v $(pwd)/data:/app/data \
  ai-meta-mcp-server
```

### Configuration

Environment variables:

- `ALLOW_JS_EXECUTION`: Enable JavaScript execution (default: true)
- `ALLOW_PYTHON_EXECUTION`: Enable Python execution (default: false)
- `ALLOW_SHELL_EXECUTION`: Enable Shell execution (default: false)
- `PERSIST_TOOLS`: Save tools between sessions (default: true)
- `TOOLS_DB_PATH`: Path to store tools database (default: "./tools.json")

### Running with Claude Desktop

Add this to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "ai-meta-mcp": {
      "command": "npx",
      "args": ["-y", "ai-meta-mcp-server"],
      "env": {
        "ALLOW_JS_EXECUTION": "true",
        "ALLOW_PYTHON_EXECUTION": "false",
        "ALLOW_SHELL_EXECUTION": "false"
      }
    }
  }
}
```

## Tool Creation Example

In Claude Desktop, you can create a new tool like this:

```
Can you create a tool called "calculate_compound_interest" that computes compound interest given principal, rate, time, and compounding frequency?
```

Claude will use the `define_function` meta-tool to create your new tool, which becomes available for immediate use.

## Architecture

The server implements the Model Context Protocol (MCP) and provides a meta-tool architecture that enables AI-driven function registration and execution within safe boundaries.

## License

MIT

TDQS

A3.6/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose targeting different operations on custom MCP functions: define (create), delete, get details, list all, and update. There is no overlap or ambiguity between these CRUD operations.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern (e.g., define_function, delete_function, get_function_details, list_functions, update_function). The naming is uniform and predictable throughout the set.

Tool Count5/5

With 5 tools, this server is well-scoped for managing custom MCP functions. Each tool serves a clear and necessary purpose, covering the essential operations without being excessive or insufficient.

Completeness5/5

The tool set provides complete CRUD coverage for the domain of custom MCP functions: define (create), list, get details, update, and delete. There are no obvious gaps, and agents can handle the full lifecycle of functions.

Maintenance

ActivityInactive
ResponsivenessNo issues