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
| Ferramenta | Entrada | Retorna |
|---|---|---|
search_documents | query?, 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_document | ntt_id, max_chars?, offset_chars? | Metadados do documento mais o corpo do anexo como Markdown, paginados com offset_chars |
list_recent | limit?, 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_tagsretorna ambos.summaryesnippetsão para orientação. Cite obodydeget_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:
| Campo | Exemplo |
|---|---|
| String de consulta | https://myfss.eocpa.kr/mcp?key=<token> |
| Cabeçalho personalizado | x-eocpa-token: <token> (também aceito: x-api-key) |
| Bearer | Authorization: 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 ambiente | Finalidade |
|---|---|
PORT | Porta HTTP (padrão 8080) |
FSS_DB_PATH | Localização do corpus (padrão data/fss.sqlite) |
TOKEN_VALIDATE_URL | Endpoint de validação de token (padrão https://eocpa.kr/validate) |
USAGE_DB_PATH | Localização do log de uso (padrão data/usage.sqlite) |
RATE_LIMIT_RPM, CORS_ORIGIN | Limite de solicitações por IP (padrão 300) e origem CORS (padrão *) |
PLAYMCP_LIMIT, PLAYMCP_LIMIT_UNIT | Orçamento do canal PlayMCP (padrão 24000, chars) |
MCP_ALLOWED_ORIGINS | Lista 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