Solar Human Proofreader
OfficialSolar Human Proofreader
Un servidor MCP que devuelve el manuscrito corregido con el bolígrafo rojo de un editor humano.
Corrige manuscritos coreanos para que se lean con fluidez. Upstage Solar Pro 4 pule las frases; que los hechos, las citas y el estilo sigan igual lo decide el código. No se añade ni se quita contenido.
Es un servidor MCP que se despliega y se usa desde Vercel. La cuota gratuita es de 100 llamadas al día; por encima de ese límite se usa tu propia clave (BYOK).
Lo que lo diferencia
No es una herramienta para borrar el olor a IA. Es una herramienta para eliminar los lugares en los que al lector le hace falta leer dos veces. Por eso el orden de trabajo tampoco es el de detectar-reemplazar, sino el de un editor humano.
Paso | Quién | Qué hace |
1. Lectura completa | Código | Mide primero la distribución de la puna, de las frases, el estilo prolijo, el registro de traducción, la pasiva, las frases hechas y las desviaciones del ritmo. |
2. Valoración | Solar | Lee lo que los números no ven: el hilo roto, los párrafos redundantes, el ritmo muerto. |
3. Corrección | Solares | Corrige únicamente los pasajes que se hayan señalado en la valoración. |
4. Contraste | Código. | Lo coloca junto al original y lo compara; los datos que no existían, las citas cambiadas y el registro volteado. |
5. Reajuste | Solar: | Retoque definitivo solo en los puntos que ha marcado el contraste. |
---------------------- | ------- | ---------------------------------------------------------------------------------------------------- |
No se le pregunta a el modelo: "dime cuanto has corregido". Porque si quien acaba de escribir es quien se evalúa, valora siempre con generosidad. La tasa de cambios, la conservación de los datos, el contraste de las citas y la valoración del estilo las calcula en su totalidad el código. Con la misma entrada se obtiene siempre el mismo resultado.
Principios de edición
Regla del bolígrafo rojo — Si el motivo para cambiar no se puede decir en una sola frase, no se toca.
A favor de quitar — Una buena corrección no añade. Si la extensión crece, aparece una advertencia.
El tono del autor en el texto — Subir el registro llano (한다체) a formal cortés (합쇼체) también es una adaptación. Si se invierte se bloquea la aceptación.
Los datos son inmutables — Si aparece, aunque sea una sola frase o un solo número que no estaba en el original, ese corregido no admite corrección.
Herramientas
| Herramienta | Qué hace | Coste de llamadas |
| --------------------- | | --------------------------------------------------- | --------------- |
| proofread | Lee el original por completo y devuelve el corregido. Es el cuerpo. | 1~3 |
| read_through | Proporciona solo la lectura de qué texto, sin corregir. | 1 |
| readability | Mide la longitud de las frases, registro de traducción, la pasiva y el ritmo en una nota de 0 a 100. | Gratis |
| compare | Compare el original con el corregido y detecta los desperfectos; también valida que otro modelo haya pintado el original. | Gratis |
| suggest | Reexcribe un pasaje en varias propuestas de diferente cariz. | 1 |
| usan | Comprueba si queda cuota gratuita hoy. | Gratis |
Argumentos de proofread
Argumento | Description |
| El manuscrito a corregir (máximo 20 000 caracteres). |
|
|
|
|
|
|
| A quién va dirigido. Por ejemplo: |
| Un encargo adicional. Por ejemplo: |
| Frases que no puede cambiar ni un carácter. Se force in the contrast phase. |
Conexión
Los clientes compatibles con Streamable HTTP (como Claude Code, Cursor o similares) solo necesitan configurar la URL.
{
"mcpServers": {
"human-proofreader": {
"url": "https://<your-deployment>.vercel.app/api/mcp"
}
}
}Con Claude Code basta una sola línea de comando.
claude mcp add --transport http human-proofreader https://<your-deployment>.vercel.app/api/mcpEn un cliente que solo sea stdio, usa npx -y mcp-remote <url>.
Dárselo tal cual a una IA
A nuestro despacho se acompañ además una guía legible por una máquina para que instalarlo sea tan fácil como abrí una URL ... Los dos caminos leen de la golpecito de la solicitud una dirección completely real del despliegue, por lo que no se copian los placeholder tal cual.
Ruta | Qué contiene |
| Un instructivo en prosa: comandos de instalación según el cliente, listado de herramientas, reglas de cuota gratuita y BYOK, y método de entrega de resultados. |
| El hechizo de la misma información; incluye fragmentos listos para enchufar directamente en la configuración. |
100 llamadas, luego tu propia clave
La cuota gratuita se mide con unidad de llamada a Solar. Si un solo foread consume 1 llamada de lectura + 1 de corrección, se le descuentan 2. Si se cuenta según la invocación de herramientas, el mimo: the available quota becomes very different, と the who uses esto y el quien lo ofrece cannot prever. readability and compare load no llaman a Soar, no descuentran. Se reinicia a medianoche KST.
Para usar más al del límite free hay que poner la propia clave en la cabecera (y no como argumento de la herramienta). Si la recibieras como argumento, la clave would quedarte en clara en el historial del conversation del cliente.
{
"mcpServers": {
"human-proofreader": {
"url": "https://<your-deployment>.vercel.app/api/mcp",
"headers": {
"X-Upstage-Api-Key": "up_..."
}
}
}
}Cabecera | Recorrido | Cómo conseguir la clave |
| Upstage directo ( | |
| Vía OpenRouter (modelo |
Con la clave propia no hay límite diario, y el coste se factura en la cuenta de la cá que prove un.
Desplegarlo por tu cuenta
git clone https://github.com/SolarLLM/human-proofreader-mcp
cd human-proofreader-mcp && npm install
cp .env.example .env.local # OPENROUTER_API_KEY 또는 UPSTAGE_API_KEY 를 채운다
npm run dev # http://localhost:3000/api/mcpvercel deploy --prodVariables de entorno
Variable | Descripción |
| Claves de servidor para el tier free. Cualquiera de las dos. |
| Número de llamadas gratuitas diarias (100 por defecto). |
| Almacenamiento del recuento de cuota. Si no existe, se hace un recuento memory apróximo in the instance and it is indicated that in the response. |
| Sal para el hash de los identificadores de uso. Ha de ser distinta en cada despliegue. |
| El número máximo de caracteres de entrada (20.000 por defecto). |
Aunque funciona sin Redis , serverless uses various instances, so the quota becomes somewhat lax. Para manten уменьшишие real really that 100 lives; take Upstash Redis.
Plan de Vercel y depth: In Hobby the function is truncated at 60 seconds. With a long manuscript, deep (3 calls) can overcome it, so en Hobby use standard or lower, or change to Pro (maxim 300 s).
Desarrollo
npm test # 결정적 계층(가독성·대조·변경률) 회귀 테스트
npm run typecheckThe part that invokes the LLM does not test it. What we do test is all the code that dictates: because the most scariest failure of this server is a that gate that passes silently.
Cómo se mide la tasa de cambios
El grado de edición aplicado es el valor de referencia para jucear si hay exceso de corrección. Si se contara por unidades mortales (eojeol), el simple cambio de la partícula bastaría para calificar la unidad completa de «cambiada»: la cifra a double (detected: 22.8 % por caracteres → 45.0 % por unidades). Por eso se mide por caracteres.
También se descarta la manera de confrontar primero frases o párrafos. Una buena corrección separa las frases largas, une las cortas y divide los párrafos. Cualquier unidad se convierte en una relación 1:1 que interpreta esas separaciones como no encontradas, clasificándola como reescción de una corrección normal (detected: la nota pública dividida en cuatro párrafos dio 75 %; en realidad era 27 %).
Aplicar el LCS completo sobre todo el text es exact & quaranteed cost: 20.000 vs 20.000 characters in 1.1 sec. Compared with a Solar call that sometimes 20 seconds, raw it is cheap. The outcome matches exactly the char-wise measure of Python difflib (my results 0.228=0.228, 0.680=0.68).
The threshold is adv 30 % · stop 50 %. In Korean, because particles appear and endings are overlapping, even texts of completely different content have a floor of 0.650.70. The stop value of 0.50 is below that floor, but placed above a normal strong edit range (0.250.45).
Lo que atrapa la compuerta de contraste
Código | Veredicto | Qué detecta |
| No se admite | Se introdujo como frase una that did not exist in the original. |
| No se admite | You have invented a number that did not exist in the original. |
| No se admite | La cita directa no remain without the sign. |
| No se admite | El tono de speech invert (p. ej., de estilo llano a formal) |
| No se admite | Una frase obligatoria to the preservation is changed. |
| No se admite | La tasa de cambios >50% — no a "corrección" sino rewriting. |
| Aviso | La tasa de cambios entre 30 and 50 %. |
| Aviso | Se introduce un cliché que no original. |
| Aviso | Aumento de formalidad / desaparece remark of oral. |
| Aviso | tender title loses / increase of length over 15%. |
| Observación | Lists the terms that entered / the figures listed (visible). |
The injection of a whole sentence is certainly captured. For a few mis palabras within a sentence, the gate does not block but shows it as a new_terms list — since changing the words is proper in the correction, blocking would bring many false positive. In the real measurement this list caught innocent-modifier insertions like "respecto the existing" vs. versus "base of similar size".
Acknowledgments
La sense of the problem of recognizing the "smell of IA" in Korean writing and the classification system of styles arise from epoko77-0/im-not-ai, and the code, instead of borrowing, is written from scratch. This server is a separate design that does not focus on "removing the AI aura" but on "읽, 좋은 text easy to read".
Author's
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Korean ID document verification and PII masking APIs
Loads your personal writing voice into any AI and scores how closely a draft matches it.
Korean business record validation and workflow safety gates for AI agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SolarLLM/human-proofreader-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server