Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

Sigao Li — personal MCP server

de SigaoLiversión 1.0.0i★ –iSe ejecuta en la nube
Nombre en el registrocom.sigaoli/profile

Instalar

Resumen

Descripción del creador (original en inglés)

Read-only access to Sigao Li's profile, CV and case studies. Bilingual (EN/ZH).

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en la nube
  • Transporte: Streamable HTTP
  • Categoría: Otros

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

Necesitas

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Funciona en Claude para web, escritorio y móvil:

  1. Abre Settings → Connectors
  2. Presiona Add custom connector
  3. Pega la dirección de abajo y presiona Add
  4. Si te pide iniciar sesión, inicia sesión en el servicio del creador
SettingsConnectors1+ Add2https://…3
https://api.sigaoli.com/mcp

Ejecuta esto en tu terminal

claude mcp add --transport http profile https://api.sigaoli.com/mcp

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "profile": {
      "url": "https://api.sigaoli.com/mcp"
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "profile": {
      "type": "http",
      "url": "https://api.sigaoli.com/mcp"
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

ChatGPT solo se conecta a servidores en internet:

  1. Abre ChatGPT en la web → Settings → Connectors (Apps)
  2. Presiona Create o Add (en algunos planes primero hay que activar Developer mode en Advanced)
  3. Pega la dirección de abajo, ponle un nombre y guarda
  4. Si te pide iniciar sesión, inicia sesión en el servicio del creador
SettingsConnectors1+ Create2https://…3
https://api.sigaoli.com/mcp

Los nombres de los menús pueden variar un poco según el plan y con el tiempo.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Todavía no hemos leído la lista de herramientas de este servidor; revisamos los endpoints por turnos.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con el dominio sigaoli.com (el registro comprueba quién es dueño del dominio)

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    El endpoint responde

    Aún sin revisar; revisamos los endpoints por turnos

  • … Aún sin revisar

    Inicio de sesión con OAuth

    Aún sin revisar; revisamos los endpoints por turnos

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Aún sin revisar; leemos la lista de herramientas cuando revisamos el endpoint

Comparado con otros en Otrosi

  • Más estrellas que el 0% de los otros 32537 servidores de esta categoría
  • Publicado en el registro más recientemente que el 21% de los otros 32537 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 32537 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro Sigao Li — personal MCP server?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en la nube del creador. Te conectas por internet sin instalar nada, pero lo que envías pasa por los servidores del creador.

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (1.0.0) llegó al registro hace 3 meses.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. Se conecta por URL, así que también funcionan las apps que aceptan servidores MCP remotos, como ChatGPT en modo desarrollador.

¿Qué puedo usar en su lugar?

En la misma categoría: Spec Driven Development, Remote Desktop Commander, TF Rooms

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Spec Driven Development

de formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Se ejecuta en tu computadora★ 440MITActualizado hace 14 meses
Instalar

Remote Desktop Commander

de desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Se ejecuta en la nube★ 211Actualizado ayer
Instalar

TF Rooms

de tfrooms.com

Live room availability, rates and stay quotes for 12 New Leaf motels in Twin Falls, Idaho.

Se ejecuta en la nubeActualizado hoy
Instalar

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

sigaoli.com

Personal website of Sigao Li — AI Product Manager · Spatial Data Scientist. _From maps to models, and the products in between._

Bilingual (English at /, 中文 at /zh/), built with Astro + Tailwind CSS v4 + GSAP, deployed to GitHub Pages via GitHub Actions. Launched 2026-06-11, replacing the previous Jekyll (academicpages) site.

Highlights

  • Generative canvas effects on a map motif — an interactive particle field (home), contour terrain (work), a "river as timeline" with a flow field (CV), and a geo-network arc map (photography); all vanilla canvas/SVG, tuned to 60fps with reduced-motion and mobile fallbacks
  • Dotted world map — land sampled from Natural Earth, with 88 GPS-extracted photo footprints across 6 countries; click a marker to open that country's gallery
  • Zoe, the digital doorcat — Sigao's cat (驺虞) lives in the corner of every page as a set of AI-generated, chroma-keyed VP9-alpha video clips pinned to shared anchor poses, driven by a state machine: she dozes off when ignored, reacts to page switches, listens while you type, "types back" while the assistant streams, and keeps a few easter eggs (production handbook in docs/)
  • Built-in AI layer — a floating chat assistant (fronted by Zoe) on every page — it suggests the single most relevant page as you ask, and greets a returning visitor by name (stored only in their own browser, opt-in) — plus a personal MCP server, both fed by a build-time knowledge pack generated from the same sources as the pages (see below)
  • Machine-readable by design — /llms.txt, /llms-full.txt, /resume.json (JSON Resume), /knowledge.json, /.well-known/mcp.json, JSON-LD, and a robots.txt that explicitly welcomes AI crawlers
  • Photographs file themselves — drop the full-resolution originals into _inbox/ and commit. A pre-commit hook works out the country from the coordinates against Natural Earth polygons, archives the originals outside git, derives masters with a maximum edge of 4096px and the EXIF stripped, asks a vision model for the bilingual caption, and registers everything in photos.json — the map, the counts and the assistant's knowledge all follow from there
  • Either language pulls the other along — edit the Chinese or the English and commit. The hook works out which side moved and asks a model whether the edit actually changed what the other side must say. Polishing one language leaves the other alone; a changed fact is revised rather than rewritten, so hand-picked wording survives. Editing both in one commit counts as already handled by hand
  • Lighthouse (mobile): 96–100 across all categories; zero cookies, no paid services, and a plain-language privacy notice at /privacy

Commands

CommandAction
npm run devDev server at localhost:4321 (Astro 7 runs it as a daemon — stop with npx astro dev stop)
npm run buildProduction build to dist/
npm run previewServe the production build locally
npm testUnit tests for both hook pipelines (node --test, no extra dependencies)
npm run ingestPhoto ingest by hand. Normally the pre-commit hook runs it; useful for watching what it does
npm run syncBilingual sync by hand. Same — the hook runs it, this is for watching
node scripts/check-links.mjsInternal link integrity check over dist/
node scripts/verify-nav.mjs 等Playwright interaction suites (run against a local server)
npm run dev (in worker/)Chat + MCP Worker at localhost:8787 (wrangler; secrets in worker/.dev.vars, never committed)
node scripts/verify-chat.mjsE2E chat-widget test (needs both dev servers running)
node scripts/verify-zoe.mjsE2E for Zoe's action state machine (append ?zoe-fast locally to compress minute-scale timers)
node scripts/verify-typeroute.mjsE2E for the intent-driven typing clip and the bilingual 404 page

Any Playwright suite that waits on Zoe's state must pin the clock

(Date.prototype.getHours = () => 14): between 23:00 and 06:00 she starts the

session asleep, so state never reaches idle and the run just times out.

When adding a Zoe clip, decide who prewarms it and when at the same time.

A clip that is only fetched at playback stalls on a slow connection, and the

stage shows nothing until it decodes. Prewarming has been missed three times

already. Note warm() takes the *file* name (sit-to-loaf), not the ZOE

key (sitToLoaf).

The chat panel is rebuilt on every navigation — transition:persist keeps

Zoe's stage, not the panel. **Anything that lives only in panel DOM is gone

the moment a visitor clicks a link.** The streaming reply, the guidance chip

and the unsent draft each had to be given module state plus a path back

through paint(); the chip was lost for weeks before anyone noticed. So when

adding persistent UI here, answer two questions up front: how does paint()

rebuild it, and should it ride along in sessionStorage with the history?

Measure geometry only once the panel is visible — scrollHeight is 0 while

it is hidden, which silently writes height: 0px.

Turnstile guards `/chat` and `/classify`. It must never guard `/mcp`.

That endpoint exists so machines can read Sigao's profile — it is in the

official registry — and Turnstile exists to stop machines. It also costs

nothing to serve: the tools read the knowledge pack and never call a model.

The static outlets (llms.txt, knowledge.json, .well-known/mcp.json) are

served by Pages and never reach the Worker at all.

Locally, Turnstile uses Cloudflare's always-pass test keys — sitekey in

site.ts behind import.meta.env.DEV, secret in worker/.dev.vars. The real

key rejects headless browsers, which is exactly its job, so every suite that

drives a real Worker would fail against it. The real secret exists only in

production, set with wrangler secret put. A corollary worth remembering:

the production happy path cannot be verified from a script — reaching it

needs a human in a real browser. Automation can still prove the gate is up

(a request with no credential must return 403).

src/

├── pages/ # en routes + zh/ mirrors; llms.txt / resume.json / knowledge.json endpoints ├── components/ # Nav, Hero, WorldMap, Lightbox, CommandK, ChatWidget … │ └── pages/ # shared page bodies rendered by both locales ├── content/ # cases & research (en) + cases-zh & research-zh (generated, reviewed) ├── data/ # cv.json / cv.zh.json / photos.json (GPS + bilingual alts) │ └── knowledge/ # persona sources for the AI assistant (about / faq / guidelines / boundaries) ├── lib/ # i18n dict, GSAP lifecycle helper, site config │ └── knowledge/ # knowledge-pack pipeline (same-source layers + build-time privacy guard) └── assets/ # photo originals (optimized at build; originals never shipped) worker/ # Cloudflare Worker: /chat (SSE) + /classify (intent) + /mcp (MCP server) └── src/core/ # runtime-agnostic logic; Cloudflare specifics live only in src/adapter/ public/zoe/ # Zoe's clip library (600p VP9 alpha, lazy-loaded; idle loads first) docs/ # zoe-production-handbook.md — clip production specs & prompt cards

AI layer

One knowledge layer, three outlets: /llms-full.txt for passive crawlers, a chat assistant (POST /chat, SSE) for humans, and an MCP server (/mcp, Streamable HTTP, no auth — tools: get_profile / list_experience / get_case_study) for visiting agents, both served from api.sigaoli.com (Cloudflare Worker, code in worker/). The knowledge pack (/knowledge.json) is assembled at build time from the same sources as the pages — persona markdown, cv.json, case studies, photo stats — so any content edit propagates to all three outlets on the next deploy, no manual step. A privacy guard fails the build if sensitive patterns (phone numbers, IDs, coordinates) ever leak into the pack.

Alongside each reply the chat runs a lightweight intent classifier (POST /classify, a small model) to suggest the single most relevant page, and can remember a returning visitor's name — both kept entirely in the visitor's own browser (opt-in, clearable via "Forget me"), never on a server. Visitors in the EU/EEA/UK have their chat and classification routed to an EU-hosted provider, never the China-direct API. What the site stores and sends is described in plain language at /privacy.

Editing content

  • Case studies / research: edit either language and commit. The pre-commit hook works out which side moved, asks a model whether the edit actually changed what the other side must say, and only then revises it — passing the existing translation along so a changed fact gets fixed without the rest of your wording being rewritten. Polish one language and the other is left alone. Edit both in one commit and that counts as already handled by hand. See docs/bilingual-sync-design.md.
  • CV: edit src/data/cv.json or cv.zh.json — the hook keeps the other in step entry by entry, so changing one role doesn't touch the rest. The timeline, /resume.json and /llms-full.txt all render from it. Replace public/files/pdf/CV__Sigao_Li.pdf alongside. (skills is deliberately left out of the sync: the two languages use different shapes there and the renderer handles both.)
  • UI strings & hero copy: hand-written bilingual dictionary in src/lib/i18n.ts.
  • Photos: drop the full-resolution originals into _inbox/ and commit. The pre-commit hook files them by GPS, archives the originals to _originals/ (never committed), derives serving masters with a maximum edge of 4096px, writes bilingual captions with a vision model, and registers them in src/data/photos.json. Photos without GPS go in _inbox/ / instead. Counts, the map and the AI knowledge pack all follow from photos.json automatically. See docs/photo-ingest-design.md.
  • AI assistant persona: edit src/data/knowledge/*.md; the knowledge pack rebuilds on every deploy and the assistant follows within ~10 minutes (Worker-side cache TTL).
  • Zoe's actions: source clips live outside the repo; the pipeline (scripts/zoe-board2.mjs → zoe-qc2.mjs → zoe-prod2.mjs) keys, QCs, mirrors and encodes them into public/zoe/. New actions = one clip + one row in the ZOE table in ChatWidget.astro; specs and prompt cards in docs/zoe-production-handbook.md.

Local setup

Two chains run from a pre-commit hook: photo ingest, and bilingual sync. After cloning, point git at the tracked hooks directory once:

git config core.hooksPath .githooks

Without this neither runs — photos dropped into _inbox/ stay there, and the two languages stop tracking each other. Both exit immediately when there is nothing to do, so an ordinary commit is unaffected.

Both need .env (copy .env.example): the model calls for captions, translation and the staleness check all go through that gateway.

Regenerating the lock file. package-lock.json has to be built on Linux. npm records only the optional dependencies it can resolve on the machine it runs on, so a lock made on Windows omits what sharp needs on a runner and npm ci refuses to install. After changing dependencies here, run the Relock on Linux workflow from the Actions tab; it rebuilds the lock, proves npm ci works, and commits the result. Ordinary pushes never need it — and if you forget, the verify job says so.

Deployment

Push to master → deploy.yml builds and depl

Solo se muestra el principio; lee el resto en el repo

Pregunta a PopNx