import { Hono } from 'hono'; import { WebStandardStreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js'; import { createMcpServer } from './server.js'; import { ALL_CATEGORIES } from './knowledge/index.js'; const app = new Hono(); // Landing page app.get('/', (c) => { const categoriesList = ALL_CATEGORIES .map((cat) => `
  • ${cat.name} — ${cat.description}
  • `) .join('\n '); const html = ` OZAV MCP Server
    MCP Server v1.0.0

    Expertise em cambio internacional, direto na sua IA.

    Servidor MCP publico que conecta IAs a 15 categorias de conhecimento em Portugues e Ingles sobre cambio, IOF, contas nos EUA, stablecoins, cartoes internacionais e pagamentos B2B.

    15 Categorias / Categories Base de conhecimento bilingual (PT/EN) sobre cambio e pagamentos internacionais
    Busca Semantica Tool search_ozav que encontra respostas relevantes em qualquer tema
    3 Prompt Templates Consulta, comparativo e simulacao de economia prontos para uso
    Streamable HTTP Protocolo MCP moderno via POST /mcp

    Instalar no Claude Code

    C Claude Code (CLI)

    claude mcp add ozav --transport streamable-http https://mcp.ozav.com.br/mcp

    Instalar no Cursor

    Cursor Settings → MCP Servers

    {
      "mcpServers": {
        "ozav": {
          "url": "https://mcp.ozav.com.br/mcp"
        }
      }
    }

    Instalar no VS Code

    VS .vscode/mcp.json

    {
      "servers": {
        "ozav": {
          "type": "http",
          "url": "https://mcp.ozav.com.br/mcp"
        }
      }
    }

    Endpoint

    MCP Streamable HTTP: POST /mcp

    Categorias de Conhecimento

    `; return c.html(html); }); // MCP Streamable HTTP endpoint — handles POST, GET, DELETE app.all('/mcp', async (c) => { const server = createMcpServer(); const transport = new WebStandardStreamableHTTPServerTransport({ sessionIdGenerator: undefined, // stateless mode }); await server.connect(transport); const response = await transport.handleRequest(c.req.raw); return response; }); // Smithery sandbox export — allows capability scanning without real credentials export function createSandboxServer() { return createMcpServer(); } export default app;