Running the Live MCP Server
Start Geni’s built-in stdio MCP server with a single Artisan command:tools/list— Returns all available endpoints formatted as MCP tool definitions, including their parameter names, types, and descriptions.tools/call— Dispatches an HTTP request to your application using the arguments supplied by the AI agent and returns the structured response.
Connecting to Claude Desktop
Add the following entry to yourclaude_desktop_config.json file, replacing /path/to/your/laravel/artisan with the absolute path to your application’s artisan file:
claude_desktop_config.json
Generating Static Manifests
If you need a portable snapshot of your MCP tool definitions — for example, to check into source control or hand off to a third-party integration — usegeni:mcp to export a static manifest:
HTTP MCP Endpoint
In addition to the stdio server, Geni registers an HTTP MCP endpoint as part of the docs portal:GET /docs/api/mcp— Returns tool definitions as a JSON document, suitable for polling by HTTP-based MCP clients.POST /docs/api/mcp— Accepts a JSON-RPC tool call payload and executes it, returning the structured HTTP response from your application.
The
/docs/api/mcp HTTP endpoint inherits whatever authentication you have configured for your documentation portal. If form or basic authentication is enabled, clients must supply valid credentials before the endpoint responds./docs/api/v2/mcp) that only exposes tools for that version’s routes.
Security & Authentication
Configure how Geni injects credentials into outbound tool-execution requests inconfig/geni.php:
config/geni.php
GENI_MCP_BEARER_TOKEN or GENI_MCP_API_KEY in your .env file. Geni automatically appends the appropriate Authorization header to every HTTP request it dispatches on behalf of an AI agent.