MyFSS MCP
Busca documentos de supervisión contable de la FSS/FSC de Corea desde 2010 (orientación, hallazgos de revisión, resultados de aplicación, divulgaciones modelo, comunicados de prensa), con texto de archivos adjuntos HWP/PDF incluido.
Servidor MCP alojado
npx add-mcp 'https://myfss.eocpa.kr/mcp'Se instala en Claude Code, Codex, Cursor y más
Documentación
MyFSS MCP
Búsqueda de texto completo sobre los documentos de supervisión contable y de divulgación publicados por el Servicio de Supervisión Financiera (FSS) y la Comisión de Servicios Financieros (FSC) de Corea, servida como un servidor MCP remoto para profesionales de la contabilidad.
El corpus cubre once tablones desde 2010 en adelante: guía de supervisión (감독지침), hallazgos de revisión de auditoría (심사·감리 지적사례), resultados de aplicación (회계감리결과제재), divulgaciones de notas modelo (주석공시 모범사례), tendencias de supervisión contable, materiales de auditoría externa, materiales de ICFR (내부회계관리제도), materiales educativos, comunicados de prensa de FSS y FSC, y documentos registrados manualmente. Los archivos adjuntos (HWP, HWPX, PDF) se convierten a Markdown para que el cuerpo de cada documento sea buscable y citable, y cada documento lleva un conjunto de temas, una naturaleza de documento y un resumen de dos oraciones.
- Endpoint:
https://myfss.eocpa.kr/mcp(HTTP Streamable, sin estado) - Credencial: un token eocpa de eocpa.kr/token
- Nada que instalar: registre la URL en claude.ai, Claude Desktop, Claude Code, Cursor o cualquier cliente HTTP Streamable
- Página de inicio (coreano): eocpa.kr/myfss
Por qué
Lo que el regulador verifica está escrito: en hallazgos de revisión, en guías, en las divulgaciones modelo que publica. Esos documentos viven como archivos adjuntos HWP en una docena de tablones de anuncios y no están indexados en ningún lugar al que un modelo pueda acceder. Este servidor los convierte en un corpus buscable con el cuerpo del archivo adjunto incluido, de modo que una respuesta sobre, por ejemplo, opciones de compra de bonos convertibles pueda citar el párrafo real de la guía y el caso real de aplicación en lugar de un resumen de ellos.
Herramientas
| Herramienta | Entrada | Devuelve |
|---|---|---|
search_documents | query?, topics?, nature?, board?, source?, dept?, date_from?, date_to?, limit?, offset? | Resultados de documentos con resumen, temas, departamentos, URL y un fragmento cuando una consulta coincide; total para paginación |
get_document | ntt_id, max_chars?, offset_chars? | Metadatos del documento más el cuerpo del archivo adjunto como Markdown, paginado con offset_chars |
list_recent | limit?, board? | Documentos más recientes por fecha de publicación |
list_tags | — | El vocabulario que aceptan los filtros: temas, naturalezas, tablones (clave y etiqueta), departamentos principales |
Cada herramienta es de solo lectura, idempotente y local (SQLite + FTS5). No se realiza ninguna llamada externa mientras se atiende una solicitud.
Comportamiento de búsqueda
- Los tokens de tres o más caracteres van a FTS5 (unidos con AND, ordenados por rango). Los tokens de uno y dos caracteres se convierten en filtros
LIKE, porque el índice de trigramas no puede coincidir con ellos. - Los filtros sin consulta recorren un tema en orden de fecha de publicación y no devuelven fragmento.
boardes asimétrico por diseño: el parámetro toma una clave en inglés (sanction_case), la respuesta muestra la etiqueta en coreano (심사·감리 지적사례).list_tagsdevuelve ambos.summaryysnippetson para orientación. Cite elbodydeget_document.
Uso del servidor
1. Obtenga una credencial
Solicite un token eocpa en eocpa.kr/token. Las llamadas a herramientas lo requieren; el descubrimiento (initialize, tools/list, ping) funciona sin uno, por lo que la incorporación del conector nunca falla por autenticación.
2. Conéctese
La credencial puede viajar en cualquiera de estos espacios; el servidor los trata de manera idéntica:
| Espacio | Ejemplo |
|---|---|
| Cadena de consulta | https://myfss.eocpa.kr/mcp?key=<token> |
| Encabezado personalizado | x-eocpa-token: <token> (también aceptado: x-api-key) |
| Bearer | Authorization: Bearer <token> |
claude.ai (web) — el diálogo de conector personalizado solo acepta una URL, así que coloque el token en la cadena de consulta:
https://myfss.eocpa.kr/mcp?key=<token>
Claude Desktop / Claude Code — puente con mcp-remote para que el token permanezca en un encabezado:
{
"mcpServers": {
"myfss": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://myfss.eocpa.kr/mcp", "--header", "x-eocpa-token:${EOCPA_TOKEN}"],
"env": { "EOCPA_TOKEN": "<token>" }
}
}
}
Clientes con un campo de encabezado (Cursor y otros) — ingrese el endpoint y el encabezado x-eocpa-token directamente.
Se incluye un manifiesto de plugin de Claude Code en .claude-plugin/plugin.json, y server.json es el manifiesto para el Registro MCP oficial.
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":{}}'
Una llamada a herramienta sin credencial devuelve 401; una credencial que está presente pero es rechazada devuelve 403 con un mensaje que lo indica. Las solicitudes están limitadas por tasa por IP.
Canal PlayMCP
https://myfss.eocpa.kr/mcp/playmcp es el mismo servidor detrás de la misma autenticación, con el contrato de respuesta que requiere la plataforma PlayMCP: cada resultado de herramienta se mantiene dentro de 24,000 caracteres. En este canal, get_document tiene como valor predeterminado max_chars=18000 (el esquema anuncia ese valor predeterminado; pase max_chars explícitamente para anularlo, y pagine con offset_chars). Los resultados que aún excederían el presupuesto se truncan estructuralmente y se marcan con playmcp_truncated: true, un playmcp_truncation_note y playmcp_text_truncated en cualquier objeto cuyo texto se haya cortado. El endpoint estándar /mcp nunca trunca y mantiene el valor predeterminado de 60,000 caracteres.
Datos y términos de uso
El corpus (data/fss.sqlite) no es parte de este repositorio. Los documentos fuente son publicaciones del FSS y del FSC; los cuerpos en Markdown, las etiquetas de temas y los resúmenes se derivan de ellos. El servidor alojado se ofrece como referencia para profesionales de la contabilidad; verifique los términos de la agencia publicadora antes de redistribuir el texto de los documentos.
Desarrollo
Requiere Node.js 22+.
git clone https://github.com/taesueocpa/myfss-mcp.git
cd myfss-mcp
npm install
npm run build
Ejecutar el servidor localmente necesita un corpus en data/fss.sqlite (esquema en src/store/fss-db.ts), que este repositorio no incluye. El servidor HTTP arranca sin uno y responde 503 en /mcp hasta que exista; stdio se niega a iniciar.
npm run stdio # stdio transport
npm start # HTTP on :8080 — /mcp and /mcp/playmcp
| Variable de entorno | Propósito |
|---|---|
PORT | Puerto HTTP (predeterminado 8080) |
FSS_DB_PATH | Ubicación del corpus (predeterminado data/fss.sqlite) |
TOKEN_VALIDATE_URL | Endpoint de validación de tokens (predeterminado https://eocpa.kr/validate) |
USAGE_DB_PATH | Ubicación del registro de uso (predeterminado data/usage.sqlite) |
RATE_LIMIT_RPM, CORS_ORIGIN | Límite de solicitudes por IP (predeterminado 300) y origen CORS (predeterminado *) |
PLAYMCP_LIMIT, PLAYMCP_LIMIT_UNIT | Presupuesto del canal PlayMCP (predeterminado 24000, chars) |
MCP_ALLOWED_ORIGINS | Lista de permitidos Origin separada por comas para /mcp (protección contra rebinding de DNS). Las solicitudes sin un encabezado Origin y los orígenes de localhost siempre pasan |
Diseño:
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)
Relacionado
- MyKIFRS MCP — estándares contables coreanos y preguntas y respuestas autorizadas
- eocpa.kr — centro y emisión de tokens