MyFSS MCP

Pesquise documentos de supervisão contábil da FSS/FSC da Coreia desde 2010 (orientações, resultados de revisão, resultados de enforcement, divulgações modelo, comunicados à imprensa), incluindo o texto dos anexos em HWP/PDF.

Servidor MCP hospedado

npx add-mcp 'https://myfss.eocpa.kr/mcp'

Instala no Claude Code, Codex, Cursor e outros

Documentação

MyFSS MCP

Pesquisa de texto completo sobre os documentos de supervisão contábil e de divulgação publicados pelo Serviço de Supervisão Financeira (FSS) e pela Comissão de Serviços Financeiros (FSC) da Coreia, disponibilizada como um servidor remoto MCP para profissionais de contabilidade.

O corpus abrange onze conselhos a partir de 2010: orientações de supervisão (감독지침), conclusões de auditoria (심사·감리 지적사례), resultados de fiscalização (회계감리결과제재), divulgações modelo (주석공시 모범사례), tendências de supervisão contábil, materiais de auditoria externa, materiais de ICFR (내부회계관리제도), materiais educacionais, comunicados à imprensa do FSS e do FSC, e documentos registrados manualmente. Anexos (HWP, HWPX, PDF) são convertidos para Markdown para que o corpo de cada documento seja pesquisável e citável, e cada documento traz um conjunto de tópicos, uma natureza documental e um resumo de duas frases.

  • Endpoint: https://myfss.eocpa.kr/mcp (HTTP Streamable, sem estado)
  • Credencial: um token eocpa de eocpa.kr/token
  • Nada para instalar: registre a URL no claude.ai, Claude Desktop, Claude Code, Cursor ou qualquer cliente HTTP Streamable
  • Página inicial (coreano): eocpa.kr/myfss

Por quê

O que o regulador verifica está documentado: em conclusões de auditoria, em orientações, nas divulgações modelo que publica. Esses documentos existem como anexos HWP em dezenas de quadros de avisos e não são indexados em nenhum lugar que um modelo possa acessar. Este servidor os transforma em um corpus pesquisável com o corpo do anexo incluído, para que uma resposta sobre, por exemplo, opções de compra de debêntures conversíveis possa citar o parágrafo real da orientação e o caso real de fiscalização, em vez de um resumo deles.

Ferramentas

FerramentaEntradaRetorna
search_documentsquery?, topics?, nature?, board?, source?, dept?, date_from?, date_to?, limit?, offset?Resultados de documentos com resumo, tópicos, departamentos, URL e um trecho quando uma consulta corresponde; total para paginação
get_documentntt_id, max_chars?, offset_chars?Metadados do documento mais o corpo do anexo como Markdown, paginados com offset_chars
list_recentlimit?, board?Documentos mais recentes por data de publicação
list_tags—O vocabulário que os filtros aceitam: tópicos, naturezas, conselhos (chave e rótulo), principais departamentos

Toda ferramenta é somente leitura, idempotente e local (SQLite + FTS5). Nenhuma chamada externa é feita durante o atendimento de uma solicitação.

Comportamento de pesquisa

  • Tokens de três ou mais caracteres vão para FTS5 (unidos por AND, ordenados por relevância). Tokens de um e dois caracteres tornam-se filtros LIKE, porque o índice de trigramas não consegue correspondê-los.
  • Filtros sem consulta varrem um tópico em ordem de data de publicação e não retornam trecho.
  • board é assimétrico por design: o parâmetro aceita uma chave em inglês (sanction_case), a resposta mostra o rótulo em coreano (심사·감리 지적사례). list_tags retorna ambos.
  • summary e snippet são para orientação. Cite o body de get_document.

Usando o servidor

1. Obtenha uma credencial

Solicite um token eocpa em eocpa.kr/token. Chamadas de ferramenta exigem isso; a descoberta (initialize, tools/list, ping) funciona sem um, então a integração do conector nunca falha na autenticação.

2. Conecte-se

A credencial pode viajar em qualquer um destes campos; o servidor os trata de forma idêntica:

CampoExemplo
String de consultahttps://myfss.eocpa.kr/mcp?key=<token>
Cabeçalho personalizadox-eocpa-token: <token> (também aceito: x-api-key)
BearerAuthorization: Bearer <token>

claude.ai (web) — o diálogo do conector personalizado aceita apenas uma URL, então coloque o token na string de consulta:

https://myfss.eocpa.kr/mcp?key=<token>

Claude Desktop / Claude Code — faça a ponte com mcp-remote para que o token permaneça em um cabeçalho:

{
  "mcpServers": {
    "myfss": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://myfss.eocpa.kr/mcp", "--header", "x-eocpa-token:${EOCPA_TOKEN}"],
      "env": { "EOCPA_TOKEN": "<token>" }
    }
  }
}

Clientes com um campo de cabeçalho (Cursor e outros) — insira o endpoint e o cabeçalho x-eocpa-token diretamente.

Um manifesto de plugin do Claude Code está incluído em .claude-plugin/plugin.json, e server.json é o manifesto para o Registro Oficial de MCP.

3. Verifique

curl https://myfss.eocpa.kr/health

curl -X POST https://myfss.eocpa.kr/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "x-eocpa-token: <token>" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

Uma chamada de ferramenta sem credencial retorna 401; uma credencial presente, mas rejeitada, retorna 403 com uma mensagem que informa isso. As solicitações são limitadas por taxa por IP.

Canal PlayMCP

https://myfss.eocpa.kr/mcp/playmcp é o mesmo servidor por trás da mesma autenticação, com o contrato de resposta que a plataforma PlayMCP exige: todo resultado de ferramenta permanece dentro de 24.000 caracteres. Neste canal, get_document assume como padrão max_chars=18000 (o esquema anuncia esse padrão; passe max_chars explicitamente para substituir e pagine com offset_chars). Resultados que ainda excederiam o orçamento são truncados estruturalmente e sinalizados com playmcp_truncated: true, um playmcp_truncation_note e playmcp_text_truncated em qualquer objeto cujo texto foi cortado. O endpoint padrão /mcp nunca trunca e mantém o padrão de 60.000 caracteres.

Dados e termos de uso

O corpus (data/fss.sqlite) não faz parte deste repositório. Os documentos de origem são publicações do FSS e do FSC; os corpos em Markdown, as tags de tópicos e os resumos são derivados deles. O servidor hospedado é oferecido para referência de profissionais de contabilidade; verifique os termos da agência publicadora antes de redistribuir o texto dos documentos.

Desenvolvimento

Requer Node.js 22+.

git clone https://github.com/taesueocpa/myfss-mcp.git
cd myfss-mcp
npm install
npm run build

Executar o servidor localmente requer um corpus em data/fss.sqlite (esquema em src/store/fss-db.ts), que este repositório não inclui. O servidor HTTP inicia sem um e responde 503 em /mcp até que ele exista; stdio se recusa a iniciar.

npm run stdio     # stdio transport
npm start         # HTTP on :8080 — /mcp and /mcp/playmcp
Variável de ambienteFinalidade
PORTPorta HTTP (padrão 8080)
FSS_DB_PATHLocalização do corpus (padrão data/fss.sqlite)
TOKEN_VALIDATE_URLEndpoint de validação de token (padrão https://eocpa.kr/validate)
USAGE_DB_PATHLocalização do log de uso (padrão data/usage.sqlite)
RATE_LIMIT_RPM, CORS_ORIGINLimite de solicitações por IP (padrão 300) e origem CORS (padrão *)
PLAYMCP_LIMIT, PLAYMCP_LIMIT_UNITOrçamento do canal PlayMCP (padrão 24000, chars)
MCP_ALLOWED_ORIGINSLista de permissões separada por vírgulas de Origin para /mcp (proteção contra rebinding de DNS). Solicitações sem cabeçalho Origin e origens localhost sempre passam

Layout:

src/main.ts          entry point (stdio by default, --http or MCP_MODE=http for remote)
src/tools/           tool registry — the single source of truth for both transports
src/server/          dispatch, server assembly, auth, token gate, rate limiter, HTTP wiring, PlayMCP profile and budget guard
src/store/           SQLite schema, FTS definition, usage log
src/search/          query tokenizer (FTS / LIKE split)

Relacionados

  • MyKIFRS MCP — padrões contábeis coreanos e Q&A autoritativo
  • eocpa.kr — hub e emissão de tokens