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 +134 -91
- package/build/server.js +1 -1
- package/package.json +2 -2
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
|
-
**
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
```bash
|
|
67
|
-
npx -y utn-mcp
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "utn-mcp",
|
|
3
|
-
"version": "0.2.
|
|
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://
|
|
39
|
+
"homepage": "https://utnmcp.com.ar",
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"@modelcontextprotocol/node": "^2.1.1",
|
|
42
42
|
"@modelcontextprotocol/server": "^2.3.0",
|