utn-mcp 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,91 +1,134 @@
1
- # UTN-MCP — El puente entre tu agente y los sistemas de la Universidad.
2
- Este es el Model Context Protocol server NO OFICIAL de la UTN. Con él podrás pedirle a tu agente de preferencia (ChatGPT, Claude, etc.) que busque informacion o archivos en el aula virtual.
3
-
4
- ## Qué podés pedirle
5
- - *"¿Cuándo es el recuperatorio del primer parcial de Álgebra?"*
6
- - *"¿Qué avisó la profesora de Física esta semana?"*
7
- - *"Resumime la guía de la unidad 3 de Sistemas Operativos."*
8
- - *"Pasame el link para bajar el apunte de calorimetría."*
9
-
10
- El agente recorre el aula como lo harías vos: entra al curso, mira los foros y abre los archivos que hagan falta.
11
-
12
- ## Tools
13
- | Tool | Qué hace |
14
- |---|---|
15
- | `aula_list_courses` | Lista tus cursos. Es el punto de partida. |
16
- | `aula_open` | Entra a un curso, un módulo, un foro o una discusión. Cada respuesta trae las direcciones de lo que hay adentro y de un nivel más arriba, así el agente navega sin perderse. |
17
- | `aula_read_file` | Lee un archivo del aula, por partes cuando es largo. |
18
- | `aula_get_site_info` | Datos de tu usuario en el aula virtual. |
19
-
20
- ### Archivos que puede leer
21
- - **PDF**: el texto, página por página. Los **escaneados** se mandan como imagen de cada página, y el agente los lee igual.
22
- - **Word (.docx), PowerPoint (.pptx) y Excel (.xlsx)**: el texto, con las tablas fila por fila.
23
- - **Imágenes** (PNG, JPG, GIF) y texto plano.
24
-
25
- Los formatos viejos de Office (.doc, .ppt, .pps), los comprimidos (.zip, .rar) y los videos no se leen. En ese caso el agente te pasa el link para que lo bajes.
26
-
27
- ### Links de descarga
28
- Cada archivo viene con un link del aula virtual que podés abrir en tu navegador. Funciona con tu sesión del aula (si no estás logueado te manda al login) y **nunca incluye tu token**: ese queda siempre en tu computadora.
29
-
30
- ## Cómo instalar
31
- Necesitás [Node.js](https://nodejs.org) 20 o superior. No hace falta clonar el repo ni instalar nada a mano: `npx` descarga el paquete solo.
32
-
33
- ### 1. Iniciar sesión
34
- ```bash
35
- npx -y utn-mcp login
36
- ```
37
- Te pide tu usuario institucional y tu contraseña de la UTN (los mismos de "Usuarios Institucionales" en el aula virtual). Se hace una sola vez: después el servidor renueva la sesión solo.
38
-
39
- ### 2. Agregarlo a tu cliente
40
-
41
- **Claude Code**
42
- ```bash
43
- claude mcp add utn -- npx -y utn-mcp
44
- ```
45
-
46
- **Claude Desktop**: en *Settings → Developer → Edit Config*, agregá dentro de `mcpServers`:
47
- ```json
48
- "utn": {
49
- "command": "npx",
50
- "args": ["-y", "utn-mcp"]
51
- }
52
- ```
53
- En Windows, si no arranca, usá `"command": "cmd"` y `"args": ["/c", "npx", "-y", "utn-mcp"]`. Después reiniciá Claude Desktop por completo.
54
-
55
- **Otros clientes (Cursor, VS Code, etc.)**: cualquier cliente MCP que lance servidores por STDIO sirve con el comando `npx -y utn-mcp`.
56
-
57
- ### Instalación global (opcional)
58
- Si preferís tener el comando `utn-mcp` siempre disponible:
59
- ```bash
60
- npm i -g utn-mcp
61
- utn-mcp login
62
- ```
63
- y en la config del cliente usás `"command": "utn-mcp"` sin argumentos.
64
-
65
- ### Modo HTTP (opcional)
66
- ```bash
67
- npx -y utn-mcp --http --port 3000
68
- ```
69
- Levanta el servidor en `http://127.0.0.1:3000/mcp`, solo accesible desde tu propia máquina. Tenés que dejar la terminal abierta mientras lo uses.
70
-
71
- ## Dónde se guardan tus datos
72
- Todo queda en tu computadora:
73
- - **Usuario y contraseña**: en el gestor de credenciales del sistema (Windows Credential Manager, Keychain en macOS, Secret Service en Linux).
74
- - **Token del aula virtual y cookies de sesión**: en `%APPDATA%\utn-mcp\session.json` (Windows) o `~/.config/utn-mcp/session.json` (Linux y macOS).
75
-
76
- En Linux sin gestor de credenciales (servidores, Docker, WSL) podés definir las variables de entorno `UTN_USER` y `UTN_PASS` en lugar de usar `login`.
77
-
78
- ## Desarrollo
79
- ```bash
80
- git clone https://github.com/nialvape/utn-mcp.git
81
- cd utn-mcp
82
- npm install
83
- npm run login # una vez
84
- npm run dev # servidor por STDIO desde src/, con tsx
85
- npm run build # compila a build/
86
- ```
87
-
88
- pdf.js no es una dependencia del paquete publicado. Está como `devDependency`, y `npm install` corre el script `prepare`, que copia a `vendor/pdfjs/` solo los archivos que usa el servidor (~4 MB). Así, quien instala `utn-mcp` no baja pdf.js entero ni su canvas nativo opcional (~37 MB). Si instalaste con `--ignore-scripts`, generalo a mano con `npm run prepare`.
89
-
90
- ## Aviso
91
- Este proyecto no está afiliado ni avalado por la UTN. Usalo bajo tu responsabilidad.
1
+ # UTN-MCP — El puente entre tu agente y los sistemas de la Universidad.
2
+ Este es el Model Context Protocol server NO OFICIAL de la UTN. Con él podrás pedirle a tu agente de preferencia (ChatGPT, Claude, etc.) que busque informacion o archivos en el aula virtual.
3
+
4
+ ## Qué podés pedirle
5
+ - *"¿Cuándo es el recuperatorio del primer parcial de Álgebra?"*
6
+ - *"¿Qué avisó la profesora de Física esta semana?"*
7
+ - *"Resumime la guía de la unidad 3 de Sistemas Operativos."*
8
+ - *"Pasame el link para bajar el apunte de calorimetría."*
9
+
10
+ El agente recorre el aula como lo harías vos: entra al curso, mira los foros y abre los archivos que hagan falta.
11
+
12
+ ## Tools
13
+ | Tool | Qué hace |
14
+ |---|---|
15
+ | `aula_list_courses` | Lista tus cursos. Es el punto de partida. |
16
+ | `aula_open` | Entra a un curso, un módulo, un foro o una discusión. Cada respuesta trae las direcciones de lo que hay adentro y de un nivel más arriba, así el agente navega sin perderse. |
17
+ | `aula_read_file` | Lee un archivo del aula, por partes cuando es largo. |
18
+ | `aula_get_site_info` | Datos de tu usuario en el aula virtual. |
19
+
20
+ ### Archivos que puede leer
21
+ - **PDF**: el texto, página por página. Los **escaneados** se mandan como imagen de cada página, y el agente los lee igual.
22
+ - **Word (.docx), PowerPoint (.pptx) y Excel (.xlsx)**: el texto, con las tablas fila por fila.
23
+ - **Imágenes** (PNG, JPG, GIF) y texto plano.
24
+
25
+ Los formatos viejos de Office (.doc, .ppt, .pps), los comprimidos (.zip, .rar) y los videos no se leen. En ese caso el agente te pasa el link para que lo bajes.
26
+
27
+ ### Links de descarga
28
+ Cada archivo viene con un link del aula virtual que podés abrir en tu navegador. Funciona con tu sesión del aula (si no estás logueado te manda al login) y **nunca incluye tu token**: ese queda siempre en tu computadora.
29
+
30
+ ## Cómo instalar
31
+ Necesitás [Node.js](https://nodejs.org) 20 o superior. No hace falta clonar el repo ni instalar nada a mano: `npx` descarga el paquete solo.
32
+
33
+ ### 1. Iniciar sesión
34
+ ```bash
35
+ npx -y utn-mcp login
36
+ ```
37
+ Te pide tu usuario institucional y tu contraseña de la UTN (los mismos de "Usuarios Institucionales" en el aula virtual). Se hace una sola vez: después el servidor renueva la sesión solo.
38
+
39
+ ### 2. Agregarlo a tu cliente
40
+
41
+ **Claude Code**
42
+ ```bash
43
+ claude mcp add utn -- npx -y utn-mcp
44
+ ```
45
+
46
+ **Claude Desktop**: en *Settings → Developer → Edit Config*, agregá dentro de `mcpServers`:
47
+ ```json
48
+ "utn": {
49
+ "command": "npx",
50
+ "args": ["-y", "utn-mcp"]
51
+ }
52
+ ```
53
+ En Windows, si no arranca, usá `"command": "cmd"` y `"args": ["/c", "npx", "-y", "utn-mcp"]`. Después reiniciá Claude Desktop por completo.
54
+
55
+ **Codex**
56
+ ```bash
57
+ codex mcp add utn -- npx -y utn-mcp
58
+ ```
59
+
60
+ **Gemini CLI**
61
+ ```bash
62
+ gemini mcp add utn npx -y utn-mcp
63
+ ```
64
+
65
+ **OpenClaw**
66
+ ```bash
67
+ openclaw mcp add utn --command npx --arg -y --arg utn-mcp
68
+ ```
69
+
70
+ **Hermes**: en `~/.hermes/config.yaml`:
71
+ ```yaml
72
+ mcp_servers:
73
+ utn:
74
+ command: "npx"
75
+ args: ["-y", "utn-mcp"]
76
+ ```
77
+
78
+ **Cursor**: en `~/.cursor/mcp.json`:
79
+ ```json
80
+ {
81
+ "mcpServers": {
82
+ "utn": { "command": "npx", "args": ["-y", "utn-mcp"] }
83
+ }
84
+ }
85
+ ```
86
+
87
+ **VS Code**: en `.vscode/mcp.json` (o con *MCP: Add Server* desde la paleta de comandos):
88
+ ```json
89
+ {
90
+ "servers": {
91
+ "utn": { "type": "stdio", "command": "npx", "args": ["-y", "utn-mcp"] }
92
+ }
93
+ }
94
+ ```
95
+
96
+ **ChatGPT**: todavía no. ChatGPT sólo se conecta a servidores MCP remotos por HTTPS, y utn-mcp corre en tu computadora. Va a funcionar con la versión hosteada.
97
+
98
+ **Otros clientes (Windsurf, opencode, etc.)**: cualquier cliente MCP que lance servidores por STDIO sirve con el comando `npx -y utn-mcp`.
99
+
100
+ ### Instalación global (opcional)
101
+ Si preferís tener el comando `utn-mcp` siempre disponible:
102
+ ```bash
103
+ npm i -g utn-mcp
104
+ utn-mcp login
105
+ ```
106
+ y en la config del cliente usás `"command": "utn-mcp"` sin argumentos.
107
+
108
+ ### Modo HTTP (opcional)
109
+ ```bash
110
+ npx -y utn-mcp --http --port 3000
111
+ ```
112
+ Levanta el servidor en `http://127.0.0.1:3000/mcp`, solo accesible desde tu propia máquina. Tenés que dejar la terminal abierta mientras lo uses.
113
+
114
+ ## Dónde se guardan tus datos
115
+ Todo queda en tu computadora:
116
+ - **Usuario y contraseña**: en el gestor de credenciales del sistema (Windows Credential Manager, Keychain en macOS, Secret Service en Linux).
117
+ - **Token del aula virtual y cookies de sesión**: en `%APPDATA%\utn-mcp\session.json` (Windows) o `~/.config/utn-mcp/session.json` (Linux y macOS).
118
+
119
+ En Linux sin gestor de credenciales (servidores, Docker, WSL) podés definir las variables de entorno `UTN_USER` y `UTN_PASS` en lugar de usar `login`.
120
+
121
+ ## Desarrollo
122
+ ```bash
123
+ git clone https://github.com/nialvape/utn-mcp.git
124
+ cd utn-mcp
125
+ npm install
126
+ npm run login # una vez
127
+ npm run dev # servidor por STDIO desde src/, con tsx
128
+ npm run build # compila a build/
129
+ ```
130
+
131
+ pdf.js no es una dependencia del paquete publicado. Está como `devDependency`, y `npm install` corre el script `prepare`, que copia a `vendor/pdfjs/` solo los archivos que usa el servidor (~4 MB). Así, quien instala `utn-mcp` no baja pdf.js entero ni su canvas nativo opcional (~37 MB). Si instalaste con `--ignore-scripts`, generalo a mano con `npm run prepare`.
132
+
133
+ ## Aviso
134
+ Este proyecto no está afiliado ni avalado por la UTN. Usalo bajo tu responsabilidad.
package/build/server.js CHANGED
@@ -4,7 +4,7 @@ import { registerAulaVirtualTools } from "./aula-virtual/tools.js";
4
4
  export function createServer(aula) {
5
5
  const server = new McpServer({
6
6
  name: "UTN-MCP",
7
- version: "0.2.0",
7
+ version: "0.2.1",
8
8
  });
9
9
  registerAulaVirtualTools(server, aula);
10
10
  return server;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "utn-mcp",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Este es el Model Context Protocol server NO OFICIAL de la UTN para buscar informacion o archivos en el aula virtual.",
5
5
  "main": "build/index.js",
6
6
  "bin": {
@@ -36,7 +36,7 @@
36
36
  "bugs": {
37
37
  "url": "https://github.com/nialvape/utn-mcp/issues"
38
38
  },
39
- "homepage": "https://github.com/nialvape/utn-mcp#readme",
39
+ "homepage": "https://utnmcp.com.ar",
40
40
  "dependencies": {
41
41
  "@modelcontextprotocol/node": "^2.1.1",
42
42
  "@modelcontextprotocol/server": "^2.3.0",