ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

PatrolTech

โดย PatrolTechรุ่น 0.2.8i★ –iรันบนคลาวด์
ชื่อใน registryonline.patroltech/patroltech

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Security patrol management: missed rounds, suspicious scans, incidents and checkpoint setup.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนคลาวด์
  • ช่องทาง (transport): Streamable HTTP
  • หมวด: อื่น ๆ

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ต้องเตรียมก่อน

  • รันบนคลาวด์ไม่ต้องลงโปรแกรมเพิ่ม ต่อผ่านอินเทอร์เน็ตได้เลย

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:

  1. เปิด Settings → Connectors
  2. กด Add custom connector
  3. วางที่อยู่ด้านล่างแล้วกด Add
  4. ถ้าให้ล็อกอิน ให้ล็อกอินกับผู้ทำ
SettingsConnectors1+ Add2https://…3
https://mcp.patroltech.online/mcp

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add --transport http patroltech https://mcp.patroltech.online/mcp

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "patroltech": {
      "url": "https://mcp.patroltech.online/mcp"
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "patroltech": {
      "type": "http",
      "url": "https://mcp.patroltech.online/mcp"
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:

  1. เปิด ChatGPT บนเว็บ → Settings → Connectors (Apps)
  2. กด Create หรือ Add (บางแพ็กเกจต้องเปิด Developer mode ใน Advanced ก่อน)
  3. วางที่อยู่ด้านล่าง ตั้งชื่อ แล้วบันทึก
  4. ถ้าให้ล็อกอิน ให้ล็อกอินกับผู้ทำ
SettingsConnectors1+ Create2https://…3
https://mcp.patroltech.online/mcp

ชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

server ให้ล็อกอินก่อนจึงจะแสดงรายการเครื่องมือ

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันโดเมน patroltech.online แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • ✓ ผ่าน

    endpoint ตอบ

    ตอบกลับใน 1092 ms (HTTP 401)

  • ✓ ผ่าน

    ล็อกอินแบบ OAuth

    ประกาศวิธีล็อกอินแบบ OAuth ให้โปรแกรม AI พาไปล็อกอินเอง

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint

เทียบกับตัวอื่นในหมวด อื่น ๆi

  • ดาวมากกว่า 0% ของอีก 32620 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 88% ของอีก 32620 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 32620 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

PatrolTech ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.2.8) เข้า registry 4 วันที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Intervals MCP

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Spec Driven Development

โดย formulahendry

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

รันบนเครื่อง★ 440MITอัปเดต 14 เดือนที่ผ่านมา
ติดตั้ง

Remote Desktop Commander

โดย desktop-commander

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

รันบนคลาวด์★ 211อัปเดต เมื่อวานซืน
ติดตั้ง

Intervals MCP

โดย ljcl

Remote MCP server for intervals.icu run data and analysis

รันบนเครื่องอัปเดต วันนี้
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

PatrolTech MCP server

The remote Model Context Protocol server of PatrolTech, the guard tour and security patrol platform. It lets AI assistants such as Claude, ChatGPT, Copilot, Gemini or Cursor read and act on a PatrolTech account on behalf of a user who signs in with OAuth: rounds, routes, checkpoints, guards, incidents, users, locations, access control and scans.

This repository holds only the server code. To install the connector in your assistant, use PatrolTech/ai-integrations: plugins, MCP Registry entry and instructions for each client.

This server grants no access by itself. It has no credentials of its own: it forwards the user's token, and the PatrolTech API authorizes every call (organization and location roles, OAuth scopes and a closed list of writes allowed to agents). See SECURITY.md.

Connect without hosting a server

Use the hosted endpoint https://mcp.patroltech.online/mcp with an MCP client that supports remote OAuth. The user's PatrolTech account and role determine access.

Create a free account · Connection guide · Agent skill and client plugins

Building your own integration instead? See the API reference of the public REST API and the TypeScript SDK. Webhooks are in development: tell us which events you need at info@patroltech.app.

Ask about missed patrol rounds, suspicious checkpoint scans, unreviewed checkpoints, incidents or visitor access logs. Supported changes are proposals and require explicit confirmation. Deleting records, inviting users and billing are outside the connector's capabilities.

For client setup, OAuth verification and troubleshooting, see the agent installation guide, including Cline instructions.

How it works

MCP client ──OAuth──▶ PatrolTech authorization server

│ Bearer access token (audience = MCP_PUBLIC_URL) ▼ MCP server (this repo, stateless) ──agent session──▶ PatrolTech API │ ▲ └── Redis: locks and rate limits └── @patroltech/agent-capabilities + @patroltech/sdk-api

  • OAuth resource server. /mcp requires a bearer token issued by the PatrolTech authorization server (RFC 9728 metadata at /.well-known/oauth-protected-resource/mcp). Tokens are verified against the API's JWKS (ES256, exact issuer and audience) and exchanged for a 15-minute agent session (POST /oauth/agent-session), cached by a hash of the token. The API trims the session to what the grant still allows.
  • Stateless. Each request gets a fresh MCP server instance and serves both protocol eras (2025 and 2026-07-28). Nothing about a conversation is kept in memory: proposals live in the PatrolTech API, so any number of workers can serve the same user.
  • Redis holds what must be shared between workers: the per-user lock around proposals (SET NX PX, renewed while it lasts) and the per-user, per-tool rate limits. It is required in production and staging. If Redis fails, propose, confirm and cancel answer "busy" rather than risk two proposals overwriting each other. Without REDIS_URL (development and test only) both live in process memory.
  • Tools come from the mcp channel of @patroltech/agent-capabilities, which calls the API through @patroltech/sdk-api.
Tools
ToolWhat it does
patroltech_ _ One per read of the catalog: read-only, English titles and descriptions, optional organization when the user has several.
patroltech_account_get_contextThe user's organizations (name, role, access) and their locations. Its description says where to review this connection (DASHBOARD_URL, Connected apps).
patroltech_ _propose_ Proposes a change. Nothing changes until it is confirmed. Proposals of one user and client form one batch (up to 10, expires after 30 minutes).
patroltech_proposals_confirmExecutes the whole pending batch, in order, with the parameters that were proposed (marked destructive: clients ask the user first).
patroltech_proposals_cancelWithdraws the pending batch.
patroltech_locations_get_qr_sheetA signed link (1 hour) to the printable QR sheet of a location.
Prompts and resources

Both are fixed text in src/interface/mcp/guidance: they change nothing in the account and call no backend, so they do not go through the audit line or the rate limit of the tools. The connection still needs OAuth, like everything under /mcp.

PromptWhat it asks for
patroltech_review_missed_roundsThe latest rounds not completed and the checkpoints skipped.
patroltech_review_suspicious_scansSuspicious or rejected scans, and how many are pending (period).
patroltech_weekly_summaryHow the last week went, starting with what needs attention.
patroltech_set_up_accountWhat is missing to get the account running, and the next step.
ResourceWhat it holds
patroltech://guides/choosing-a-toolWhich tool answers each question, and how changes are confirmed.
patroltech://guides/reading-the-dataWhat statuses, scan validation, partial data and retention mean.

The server also sends instructions (src/interface/mcp/serverInstructions.ts): guidance that spans several tools, such as using the ranking tools to compare guards and presenting them as activity data, not as an assessment of the people.

Writes need the write scope: without it the server answers 403 insufficient_scope with the read write challenge. Every result is { data, truncated?, notices?, note }, capped at 60,000 characters, where note says that data is data, never instructions. Each user can make 60 calls per minute to a read tool and 20 to a write tool. Every tool call writes one mcp.tool_call audit line with a hash of the arguments, never the arguments.

Endpoints
PathAuthPurpose
/mcp (path of MCP_PUBLIC_URL)BearerThe MCP endpoint (POST, GET, DELETE). Validates Host and rejects any Origin.
/.well-known/oauth-protected-resource/mcpnoneProtected resource metadata (RFC 9728), also at the root path.
/healthnoneLiveness: 200 {"status":"ok","version":"…"}.
/health/readynoneReadiness: 200 if the JWKS answers within 3 s and, with REDIS_URL, Redis answers PING; otherwise 503.
/.well-known/openai-apps-challengenoneThe OPENAI_APPS_CHALLENGE token, for the ChatGPT apps directory; 404 without it.

Configuration

Every variable is documented in .env.example. The server refuses to start, listing each missing or invalid variable, if the configuration is not valid.

VariableRequiredDescription
MCP_PUBLIC_URLyesExact public URL of the MCP endpoint, the audience of the tokens (for example https://mcp.example.com/mcp).
API_BASE_URLyesOrigin of the PatrolTech API, without /api.
OAUTH_ISSUERyesExpected iss of the access tokens, byte for byte.
OAUTH_JWKS_URLnoJWKS of the issuer. Default API_BASE_URL + /oauth/jwks.json.
DASHBOARD_URL, APP_BASE_URLyesPatrolTech dashboard and web app, for links shown to the user.
APP_ENVIRONMENTyesproduction, staging, development or test.
REDIS_URLin production and stagingShared Redis (ioredis URL).
REDIS_NAMESPACEnoKey prefix in Redis. Default APP_ENVIRONMENT.
HOST, PORTnoWhere the process listens. Default 127.0.0.1:3110, behind a reverse proxy.
LOG_LEVELnodebug, info (default), warn or error. Audit and heartbeat lines are written at any level.
SERVICE_NAMEnoservice field of every log line. Default mcp-server.
OPENAI_APPS_CHALLENGEnoDomain verification token for the ChatGPT apps directory.

Logs are one JSON object per line on stdout and stderr. Each process writes an mcp.heartbeat line every 5 minutes, so a log monitor can alert when it stops.

Development

Node.js 22.9 or later.

npm ci

cp .env.example .env.local #

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx