Skip to main content
Glama
hofill
by hofill
README.md
# RequestRepo MCP

MCP server for [`requestrepo`](https://github.com/adrgs/requestrepo) by [`adragos`](https://github.com/adrgs).

## Scope

- Full requestrepo tool surface (requests, sharing, DNS, files, ping)
- Default `stdio` transport, optional `streamable-http`
- Confirm-gated mutations (`confirm=true`)
- JSON-safe bytes envelope for binary fields

Full parameter docs are in `TOOLS.md`.

## Install

```bash
python -m pip install -e .
```

For local development:

```bash
python -m pip install -e ".[dev]"
```

## Configuration

- `REQUESTREPO_TOKEN` (optional)
- `REQUESTREPO_ADMIN_TOKEN` (optional)
- `REQUESTREPO_HOST` (default `requestrepo.com`)
- `REQUESTREPO_PORT` (default `443`)
- `REQUESTREPO_PROTOCOL` (default `https`)
- `REQUESTREPO_VERIFY` (default `true`)
- `REQUESTREPO_DEFAULT_TIMEOUT_SECONDS` (default `30`)
- `REQUESTREPO_MAX_BYTES` (default `65536`)

Auth behavior:
- If `REQUESTREPO_TOKEN` is set, it is used.
- Otherwise a new session is created, optionally with `REQUESTREPO_ADMIN_TOKEN`.

## Run

```bash
requestrepo-mcp --transport stdio
```

```bash
requestrepo-mcp --transport streamable-http --host 127.0.0.1 --port 8000 --streamable-http-path /mcp
```

## Install In AI Clients

### Codex

With token (optional, recommended if you already have one):

```bash
codex mcp add requestrepo --env REQUESTREPO_TOKEN=your-token -- requestrepo-mcp --transport stdio
```

Without token (creates a new session automatically):

```bash
codex mcp add requestrepo -- requestrepo-mcp --transport stdio
```

Check config:

```bash
codex mcp get requestrepo
```

Autostart note:
- Codex starts `stdio` servers automatically.
- If startup fails, register with an absolute executable path:

```bash
codex mcp add requestrepo --env REQUESTREPO_TOKEN=your-token -- /absolute/path/to/requestrepo-mcp --transport stdio
```

### Claude Code / Claude Desktop

```json
{
  "mcpServers": {
    "requestrepo": {
      "command": "requestrepo-mcp",
      "args": ["--transport", "stdio"],
      "env": {
        "REQUESTREPO_TOKEN": "your-token"
      }
    }
  }
}
```

### Cursor

```json
{
  "mcpServers": {
    "requestrepo": {
      "command": "requestrepo-mcp",
      "args": ["--transport", "stdio"],
      "env": {
        "REQUESTREPO_TOKEN": "your-token"
      }
    }
  }
}
```

### VS Code (Copilot Agent)

`.vscode/mcp.json`:

```json
{
  "servers": {
    "requestrepo": {
      "type": "stdio",
      "command": "requestrepo-mcp",
      "args": ["--transport", "stdio"],
      "env": {
        "REQUESTREPO_TOKEN": "your-token"
      }
    }
  }
}
```

## Tool Summary

- `session_info`
- `list_requests`
- `wait_for_request`
- `delete_request`
- `delete_all_requests`
- `share_request`
- `get_shared_request`
- `list_dns`
- `add_dns`
- `remove_dns`
- `update_dns`
- `list_files`
- `get_file`
- `set_file`
- `update_files`
- `ping`

Mutation tools require `confirm=true`.

## Testing

```bash
pytest -q
```

CI runs tests on push and pull requests (see `.github/workflows/ci.yml`).

TDQS

C2.8/5.0

Scored across 16 tools

Disambiguation4/5

Most tools have distinct purposes, but some potential confusion exists between 'delete_request' and 'delete_all_requests', and 'set_file' and 'update_files' could overlap. The DNS tools (add_dns, list_dns, remove_dns, update_dns) are clearly differentiated by action, and file/request tools generally target different operations.

Naming Consistency5/5

All tools follow a consistent verb_noun naming pattern with snake_case throughout. Examples include 'add_dns', 'list_requests', 'update_files', and 'wait_for_request'. There are no deviations in style or convention across the set.

Tool Count4/5

With 16 tools, the count is slightly high but reasonable for a server handling requests, DNS, and files. It covers multiple domains without being excessive, though it might feel heavy compared to simpler servers. The tools appear well-scoped to the server's purpose.

Completeness4/5

The tool set provides good coverage for request management (list, delete, share, wait), DNS operations (add, list, remove, update), and file handling (get, list, set, update). Minor gaps include no explicit 'get_request' tool and limited session management beyond 'session_info', but agents can work around these with existing tools.

Maintenance

ActivityInactive
ResponsivenessNo issues