Prototyp · Vorschau: alle Server aus der offiziellen Registry, alle 30 Minuten synchronisiert. Bewertungen und Benutzerkonten folgen in einem späteren Schritt.
PopNx MCPMCP-Server für alle, die KI nutzen · in einfachen Worten erklärt

Centerfield Visitor MCP

von hmkimVersion 0.3.0i★ –iLäuft auf deinem Computer
Name in der Registryio.github.hmkim/centerfield-visitor-mcp

Installieren

Überblick

Beschreibung vom Entwickler (englisches Original)

Centerfield building (Seoul) visitor pre-registration: validate, preview and register visitors.

Die drei Säulen von PopNx MCP

Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.

Was du damit machen kannst

Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.

  • Verbindung: Läuft auf deinem Computer
  • Transport: stdio
  • Kategorie: Sonstiges
  • Das musst du eintragen: CF_PERSON_IN_CHARGE_MOBILE

Installation

Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.

Bevor du installierst

  • Basischecks: 1 von 1 bestanden
  • Läuft auf deinem Computer mit den Rechten deines Benutzerkontos (Dateien, Netzwerk, Apps).
  • Das trägst du selbst ein: CF_ENV_FILE, CF_COMPANY_NAME, CF_PERSON_IN_CHARGE_MOBILE, CF_DEFAULT_FLOOR, CF_EXPOSE_WRITE_TOOLS

Als geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.

Du brauchst

  • PyPIuv für Python installiert (für den Befehl uvx)

Welche App nutzt du?

Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.

Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein

{
  "mcpServers": {
    "centerfield-visitor": {
      "command": "uvx",
      "args": [
        "centerfield-visitor-mcp"
      ],
      "env": {
        "CF_ENV_FILE": "your-value",
        "CF_COMPANY_NAME": "your-value",
        "CF_PERSON_IN_CHARGE_MOBILE": "your-value",
        "CF_DEFAULT_FLOOR": "your-value",
        "CF_EXPOSE_WRITE_TOOLS": "your-value"
      }
    }
  }
}

Führe das in deinem Terminal aus

claude mcp add centerfield-visitor --env CF_ENV_FILE=your-value --env CF_COMPANY_NAME=your-value --env CF_PERSON_IN_CHARGE_MOBILE=your-value --env CF_DEFAULT_FLOOR=your-value --env CF_EXPOSE_WRITE_TOOLS=your-value -- uvx centerfield-visitor-mcp

Trag die leeren Werte ein, bevor du ihn startest.

In Cursor öffnen

Oder kopier die Einstellungen selbst

In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen

{
  "mcpServers": {
    "centerfield-visitor": {
      "command": "uvx",
      "args": [
        "centerfield-visitor-mcp"
      ],
      "env": {
        "CF_ENV_FILE": "your-value",
        "CF_COMPANY_NAME": "your-value",
        "CF_PERSON_IN_CHARGE_MOBILE": "your-value",
        "CF_DEFAULT_FLOOR": "your-value",
        "CF_EXPOSE_WRITE_TOOLS": "your-value"
      }
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

In VS Code öffnen

Oder kopier die Einstellungen selbst

In .vscode/mcp.json in deinem Projekt einfügen

{
  "servers": {
    "centerfield-visitor": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "centerfield-visitor-mcp"
      ],
      "env": {
        "CF_ENV_FILE": "your-value",
        "CF_COMPANY_NAME": "your-value",
        "CF_PERSON_IN_CHARGE_MOBILE": "your-value",
        "CF_DEFAULT_FLOOR": "your-value",
        "CF_EXPOSE_WRITE_TOOLS": "your-value"
      }
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.

Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.

Werte, die du selbst einträgst

  • CF_ENV_FILE env
    Absolute path to a .env holding CF_COMPANY_NAME and CF_PERSON_IN_CHARGE_MOBILE (optional if ~/.config/centerfield-visitor-mcp/.env exists)
  • CF_COMPANY_NAME env
    Tenant company name exactly as registered in Centerfield
  • CF_PERSON_IN_CHARGE_MOBILE geheim env
    Mobile number of the approval contact registered in Centerfield
  • CF_DEFAULT_FLOOR env
    Floor used when a row omits it (12 or 18)
  • CF_EXPOSE_WRITE_TOOLS env
    Set false for a preview-only server that does not register reservation-creating tools

Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.

Was er kann

Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.

Basischecksi

Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 9. Nov. 2026

  • ✓ Bestanden

    Entwickler passt zum Repo

    Der Registry-Name wurde mit dem GitHub-Konto hmkim bestätigt, dem das Repo gehört

  • … Noch nicht geprüft

    Wird noch gepflegt

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • … Noch nicht geprüft

    Hat eine Lizenz

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • – Nicht zutreffend

    Endpunkt antwortet

    Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet

  • – Nicht zutreffend

    Anmeldung mit OAuth

    Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen

  • … Noch nicht geprüft

    Keine versteckten Anweisungen in Tool-Beschreibungen

    Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen

Im Vergleich mit anderen in Sonstigesi

  • Mehr Sterne als 0 % der anderen 18728 Server in dieser Kategorie
  • Neuer in der Registry veröffentlicht als 93 % der anderen 18728 Server in dieser Kategorie
  • Basischecks gleich gut wie oder besser als bei 100 % der anderen 18728 Server in dieser Kategorie

Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.

Häufige Fragen

Ist Centerfield Visitor MCP sicher?

Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.

Welche Schlüssel oder Codes braucht er?

Das musst du eintragen: CF_PERSON_IN_CHARGE_MOBILE

Läuft er auf meinem Computer oder in der Cloud?

Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).

Wird er noch gepflegt?

Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.3.0) kam vor 3 Tagen in die Registry.

Welche Apps können ihn nutzen?

Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.

Was kann ich stattdessen nutzen?

In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, Shield Kya

Alternativen

Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.

So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti

Spec Driven Development

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

von formulahendryAm Anfang↓ 66/Wo.★ 440Aktualisiert vor 14 Monaten

Läuft auf deinem Computer

Remote Desktop Commander

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

von desktop-commanderWachsend★ 211Aktualisiert vor 4 Tagen

Läuft in der Cloud✓ desktopcommander.app

Shield Kya

Audit trail and traceability for AI agents. MCP gate: evaluate, ingest, request approval.

von The-Pixel-BoysAm Anfang↓ 1336/Wo.Aktualisiert heute

Läuft auf deinem Computer

README vom Entwickler

README öffnen

Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.

Centerfield Visitor MCP

An MCP (Model Context Protocol) server that automates visitor reservations for the Centerfield building (www.centerfield.co.kr). Use it from any MCP-compatible agent — Kiro CLI / Kiro IDE / KiroCrew, Claude Code, Claude Desktop, Codex CLI, Cursor, Strands Agents (local stdio) and Amazon Quick or any remote client (streamable HTTP) — to register visitors with natural language: single entries, pasted text, survey exports, or Excel/CSV files.

센터필드 빌딩 방문예약을 자동화하는 MCP 서버입니다. 로컬 에이전트(Kiro, Claude Code, Codex, Cursor …)는

stdio로, Amazon Quick 같은 원격 에이전트는 streamable HTTP로 같은 서버를 씁니다.

The stdio server runs entirely locally — uvx downloads and runs it on your machine, and it talks directly to www.centerfield.co.kr. No backend service is required for local agents.

Quick start

mkdir -p ~/.config/centerfield-visitor-mcp

cp .env.example ~/.config/centerfield-visitor-mcp/.env # fill CF_COMPANY_NAME, CF_PERSON_IN_CHARGE_MOBILE uvx centerfield-visitor-mcp # stdio; every client below can launch this

~/.config/centerfield-visitor-mcp/.env is read automatically, so client configs need no secrets.

Client setup

ClientHowDetails
Kiro CLI~/.kiro/settings/mcp.jsonclients/kiro/mcp.json
Kiro IDE.kiro/settings/mcp.json (workspace)same file
KiroCrewagent JSON mcpServers + toolsclients/kirocrew/agent-snippet.json
Claude Codeclaude mcp add centerfield-visitor --scope user -- uvx centerfield-visitor-mcpclients/claude-code/
Claude Desktopclaude_desktop_config.jsonclients/claude-desktop/
Codex CLI~/.codex/config.toml [mcp_servers.centerfield-visitor]clients/codex/config.toml
Cursor.cursor/mcp.jsonclients/cursor/mcp.json
Strands AgentsMCPClient(stdio_client(...))clients/strands/example.py
Amazon Quickremote streamable HTTP + OAuth 2LOclients/remote/README.md

Agent skill (Agent Skills spec, works in Claude Code / Kiro / KiroCrew): SKILL.md — also shipped as the project skill .claude/skills/centerfield-visitor/SKILL.md.

Tools

ToolSide effectNotes
validate_configuration()noneChecks company, approval contact and floor list against the live site
preview_visitors_from_text(text, default_visit_date, default_visit_time, default_floor, default_purpose, participation)noneParse + validate pasted CSV/TSV
register_visitor(..., dry_run)creates a reservationdry_run=true validates (input + site) without submitting
register_visitors_from_text(text, defaults…, participation, dry_run)creates reservationsSequential, one summary string returned
preview_visitors_from_file(file_path, defaults…, participation)nonestdio deployments only (needs a shared filesystem)
register_visitors_from_file(file_path, defaults…, participation, dry_run)creates reservationsstdio deployments only

register_* tools exist only while CF_EXPOSE_WRITE_TOOLS is true (default).

Recommended flow: validate_configuration once → preview_* → human confirms → register_*. The default_* arguments fill columns that attendee lists usually lack (visit date/time/floor). participation keeps only rows whose attendance-type column contains the given text (see below). Previews mask mobile numbers and emails (010******78, h***@example.com); pass the original values to register_*.

With CF_EXPOSE_WRITE_TOOLS=false the three register_* tools are not registered at all, so the server is preview-only regardless of what a client sends.

Reservation outcomes

Every visitor gets one status (ReservationResult.status; success is kept for compatibility and is true only for SUCCEEDED):

StatusMeaningWhat to do
SUCCEEDEDCenterfield answered success: true (dry run: validated, nothing submitted). No reservation id is returned by the sitedone
FAILEDDefinitely not created: explicit success: false, HTTP 4xx except 408/429, validation/setup error, or the connection was never establishedfix the cause, run a new preview, get approval, retry that row only
UNKNOWNThe request may have been processed but the outcome is unconfirmed: HTTP 408/429/5xx, read/write timeout, read/write error, remote protocol error, non-JSON or unrecognised responsedo not retry; check the Centerfield app/site first
NOT_SUBMITTEDNot sent because an earlier row in the same bulk call was UNKNOWNresolve the UNKNOWN row, then preview + approve again

Bulk calls stop at the first UNKNOWN. The summary always reads 총 N명 중 A명 성공, B명 실패, C명 결과 불명(UNKNOWN), D명 미제출(NOT_SUBMITTED); BulkReservationOut carries succeeded, failed, unknown, not_submitted (they add up to total) and stopped_on_unknown. failed now counts only definite failures (it used to be total - succeeded).

Logs record only the error class and HTTP status, never the site's response text or visitor data.

Input constraints

FieldRule
visit_timeHH:MM, 30-minute intervals, 08:00–20:00 (HH:MM:SS from spreadsheets tolerated)
visit_dateYYYY-MM-DD, today or later in Asia/Seoul, whatever the host time zone; date + time already passed in Seoul is rejected
floor12 or 18; if omitted, CF_DEFAULT_FLOOR (default 12)
visit_purposemeeting (default), visit_business, interview, tour, construction, others
visitor_mobileKorean mobile only (a site requirement); 010-1234-5678, 010 1234 5678, +82 10-1234-5678 are normalized to 01012345678; empty or non-Korean numbers are rejected. Visitors without a Korean mobile need Centerfield's manual process
visitor_emailvalid email address
duplicatesrows with the same mobile + date + time inside one request are skipped and reported

File / text format

Header row in Korean or English; survey-export headers are recognized too (Full Name, Email, 연락처(…), 소속/회사 (…)). Unknown columns are ignored.

이름,회사,전화번호,이메일,방문일,방문시간,층

홍길동,ABC주식회사,01012345678,hong@abc.com,2026-11-15,10:00,12

Lists without date/time columns: pass default_visit_date="2026-11-15", default_visit_time="10:00".

Attendance type (survey exports): a column such as 참석 형태 / 어떤 형태로 참석하시나요? / Participation is detected and summarised in the preview (참석 형태 컬럼 감지: 온라인 7, 오프라인 3). Pass participation="오프라인" to process only rows whose value contains that text (case/space-insensitive; rows with an empty value are dropped and counted). If a filter is requested but the input has no such column, register_* refuses instead of registering everyone, and preview_* shows the unfiltered rows under a warning.

Configuration

VariableDescriptionDefaultRequired
CF_COMPANY_NAMETenant company name as registered in Centerfield_(empty)_✅
CF_PERSON_IN_CHARGE_MOBILEMobile number of the approval contact registered in Centerfield_(empty)_✅
CF_BUILDING / CF_BUILDING_KEYBuilding code / display keyeast / East
CF_DEFAULT_FLOORFloor when a row omits it (12 or 18)12
CF_TRANSPORTstdio or streamable-httpstdio
CF_HTTP_HOST / CF_HTTP_PORT / CF_HTTP_PATHHTTP bind address and path127.0.0.1 / 8000 / /mcp
CF_HTTP_STATELESS / CF_HTTP_JSON_RESPONSEStreamable HTTP modetrue / true
CF_HTTP_ALLOWED_HOSTSHost allow-list for DNS-rebinding protection (host:* = any port). Empty: loopback binds use a built-in localhost list; other binds run with protection off and log a warning_(empty)_
CF_EXPOSE_FILE_TOOLSForce file tools on/offon for stdio, off for HTTP
CF_EXPOSE_WRITE_TOOLSRegister the reservation-creating register_* tools. false = preview-only server (tools absent from the tool list). Remote deployments should set it explicitly per endpointtrue
CF_CENTERFIELD_BASE_URLCenterfield base URLhttps://www.centerfield.co.kr
CF_REQUEST_TIMEOUTHTTP timeout (seconds)30
CF_BULK_MAX_VISITORSMax visitors per bulk request (default 20; use 10 as a conservative Amazon Quick cap)20
CF_REQUEST_DELAYDelay between submissions (seconds)0.5
CF_ENV_FILEExtra .env to load_(unset)_

.env load order (later overrides earlier): ~/.config/centerfield-visitor-mcp/.env → ./.env → $CF_ENV_FILE; process environment variables always win. Startup logs (stderr) list the files read and any problems.

CF_PERSON_IN_CHARGE_MOBILE must be the mobile number registered as the tenant's approval contact.

Run validate_configuration after setup — it checks both values live without creating a reservation.

Remote mode (Amazon Quick, hosted deployments)

CF_TRANSPORT=streamable-http CF_HTTP_HOST=0.0.0.0 uvx centerfield-visitor-mcp    # http://host:8000/mcp

docker build --platform linux/arm64 -t centerfield-visitor-mcp . # or the container image

See clients/remote/README.md for the AgentCore Runtime + Cognito recipe and the Amazon Quick connector steps. Works with mcp SDK 1.x and 2.x.

Development & testing

uv sync --group dev

uv run pytest # offline unit tests (mocked HTTP) uv run --with "mcp<2" pytest # same suite on mcp SDK 1.x uv run python scripts/smoke_http.py # streamable-http transport smoke test uv run pytest -m live # read-only checks against the live site (needs a real .env) CF_LIVE_REGISTER=1 CF_TEST_VISITOR_NAME=... CF_TEST_VISITOR_MOBILE=... CF_TEST_VISITOR_EMAIL=... uv run pytest -m live

The last command creates one real reservation; confirm it in the Centerfield mobile app and cancel it there (there is no cancel API).

How it works

The server holds a single session against the Centerfield site, manages CSRF tokens, verifies the tenant company and approval contact, resolves the floor key, then submits the reservation form. Bulk requests are processed sequentially with a configurable delay and stop at the first UNKNOWN outcome.

Known limitations

  • No server-enforced preview → approval → write binding. The server does not issue a preview token that register_* must present, so "a human approved exactly this list" is enforced by the agent skill and the client's tool-approval prompt, not by the server. A token scheme was deliberately left out until a stateless design is settled (the HTTP transport is stateless, so the token must be verifiable without server-side storage, bound to the exact normalized input, short-lived, and replay-safe). Until then, keep per-call approval on for register_* in your client (do not "always allow"), and use CF_EXPOSE_WRITE_TOOLS=false for endpoints that should only preview.
  • No reservation id. The site's success response carries no identifier the server can return; SUCCEEDED means "the site answered success: true". Check the Centerfield app for the booking itself.
  • No cancel API. Cancel wrong bookings in the Centerfield app/site.

MCP Registry

Listed as io.github.hmkim/centerfield-visitor-mcp (see server.json).

mcp-name: io.github.hmkim/centerfield-visitor-mcp

License

MIT

PopNx fragen