Sol Mcp App

Sol MCP is a read-only ChatGPT App facade over the existing Sol APIs. Public endpoint App URL: https://sol.system42.one/api/mcp/sol Health URL…

Executive Summary

Sol MCP is a read-only ChatGPT App facade over the existing Sol APIs. Public endpoint App URL: https://sol.system42.one/api/mcp/sol Health URL: https://sol.system42.one/api/mcp/sol/health Legacy SSE URL: https://sol.system42.one/api/mcp/sol/sse ChatGPT App creation settings Sol MCP App Sol MCP is a read-only ChatGPT App facade over the existing Sol APIs.

Sol MCP App

Sol MCP is a read-only ChatGPT App facade over the existing Sol APIs.

Public endpoint

ChatGPT App creation settings

These are the settings that matched the live connector behavior during ChatGPT-side registration:

Important notes from live registration attempts:

Local service

Exposed tools

- search
Search the Sol knowledge index and return compact document handles.
- fetch
Read a full Sol document by id returned from search.
- queryKnowledge
Return scored semantic-search hits from the Sol knowledge API.
- queryChat
Run a grounded text chat turn against the Sol chat API.
- getSystemStatus
Return current Sol runtime health, telemetry, and service state.

Operational notes

Deploy / reload

bash
systemctl --user daemon-reload
systemctl --user enable --now sol-mcp.service
systemctl --user restart sol-mcp.service
systemctl --user reload caddy-sol37.service

Smoke test

bash
curl -s https://sol.system42.one/api/mcp/sol/health | python3 -m json.tool

SDK-level smoke test:

bash
node --input-type=module <<'EOF'
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';

const transport = new StreamableHTTPClientTransport(new URL('https://sol.system42.one/api/mcp/sol'));
const client = new Client({ name: 'sol-mcp-smoke', version: '0.1.0' }, { capabilities: {} });
await client.connect(transport);
console.log((await client.listTools()).tools.map(tool => tool.name));
await transport.close();
EOF