// frontend/components/AdminTabs/mcp/CustomInstallForm.jsx // Paste-a-register.json form for installing a custom MCP server. import React, { useState } from "react"; const SAMPLE = `{ "name": "mcp-neo4j-server", "endpoint": "http://mcp-neo4j-server:8083/mcp", "description": "Neo4j MCP server for graph schema discovery", "tags": ["graph", "neo4j"], "auth": { "type": "bearer", "env": "MCP_NEO4J_SERVER_TOKEN" } }`; export default function CustomInstallForm({ onSubmit }) { const [text, setText] = useState(SAMPLE); const [err, setErr] = useState(null); const [submitting, setSubmitting] = useState(false); const handleSubmit = async () => { setErr(null); let parsed; try { parsed = JSON.parse(text); } catch (e) { setErr("Invalid JSON: " + (e?.message || "")); return; } if (!parsed.name || !parsed.endpoint) { setErr("register.json must include 'name' and 'endpoint'."); return; } setSubmitting(true); try { await onSubmit(parsed); setText(SAMPLE); } catch (e) { setErr(e?.message || "Install failed"); } finally { setSubmitting(false); } }; return (

Install custom server

Paste a Context Forge register.json. The server lands disabled — turn it on from the Installed tab once you have set its auth token.