Seal Security
Vulnerability management: scan projects, search sealed packages, manage sealing rules and reports.
제작자가 쓴 설명(영어 원문)
MCP server for Teramind's insider-threat/employee-monitoring API (read-only, metadata-only surface).
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
TERAMIND_ACCESS_TOKEN, TERAMIND_INSTANCE_URL, MCP_TRANSPORT, AUTH_MODE, LOG_LEVEL비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"teramind": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"TERAMIND_ACCESS_TOKEN",
"-e",
"TERAMIND_INSTANCE_URL",
"-e",
"MCP_TRANSPORT",
"-e",
"AUTH_MODE",
"-e",
"LOG_LEVEL",
"ghcr.io/wyre-ai/teramind-mcp:v1.0.1"
],
"env": {
"TERAMIND_ACCESS_TOKEN": "your-value",
"TERAMIND_INSTANCE_URL": "your-value",
"MCP_TRANSPORT": "your-value",
"AUTH_MODE": "your-value",
"LOG_LEVEL": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add teramind --env TERAMIND_ACCESS_TOKEN=your-value --env TERAMIND_INSTANCE_URL=your-value --env MCP_TRANSPORT=your-value --env AUTH_MODE=your-value --env LOG_LEVEL=your-value -- docker run -i --rm -e TERAMIND_ACCESS_TOKEN -e TERAMIND_INSTANCE_URL -e MCP_TRANSPORT -e AUTH_MODE -e LOG_LEVEL ghcr.io/wyre-ai/teramind-mcp:v1.0.1실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"teramind": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"TERAMIND_ACCESS_TOKEN",
"-e",
"TERAMIND_INSTANCE_URL",
"-e",
"MCP_TRANSPORT",
"-e",
"AUTH_MODE",
"-e",
"LOG_LEVEL",
"ghcr.io/wyre-ai/teramind-mcp:v1.0.1"
],
"env": {
"TERAMIND_ACCESS_TOKEN": "your-value",
"TERAMIND_INSTANCE_URL": "your-value",
"MCP_TRANSPORT": "your-value",
"AUTH_MODE": "your-value",
"LOG_LEVEL": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"teramind": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"TERAMIND_ACCESS_TOKEN",
"-e",
"TERAMIND_INSTANCE_URL",
"-e",
"MCP_TRANSPORT",
"-e",
"AUTH_MODE",
"-e",
"LOG_LEVEL",
"ghcr.io/wyre-ai/teramind-mcp:v1.0.1"
],
"env": {
"TERAMIND_ACCESS_TOKEN": "your-value",
"TERAMIND_INSTANCE_URL": "your-value",
"MCP_TRANSPORT": "your-value",
"AUTH_MODE": "your-value",
"LOG_LEVEL": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
MCP_TRANSPORT envAUTH_MODE envLOG_LEVEL env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 9일 점검
레지스트리 이름이 GitHub 계정 WYRE-AI 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: TERAMIND_ACCESS_TOKEN, TERAMIND_INSTANCE_URL
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.0.1)은 18일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Docker도 있어야 해요.
같은 카테고리에는: Seal Security, Dependency Auditor, Security Proxy
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Vulnerability management: scan projects, search sealed packages, manage sealing rules and reports.
MCP gateway: many servers, one policy, lethal-trifecta blocking, PII masking, audit log
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
MCP server for Teramind's insider-threat/employee-monitoring API - computer inventory, agent (user) inventory, departments, alerts, anomaly-rule and behavior-policy configuration, and monitoring-profile metadata - for AI assistants and the WYRE Conduit gateway.
This connector is PII-dense by construction (insider-threat/employee-monitoring product) and requires security review before merge - see Scope and Credential scope below.
Teramind authenticates with a JWT Access Token, self-generated per-account in the Teramind dashboard (User menu -> Access Tokens), sent as the x-access-token header. There is no OAuth flow.
Teramind's API is per-customer-instance (cloud or on-premise/private-cloud) - there is no shared multi-tenant base URL like most other connectors in this catalog. Every credential set also carries the customer's own instance URL (e.g. https://yourcompany.teramind.co). In gateway mode both arrive per-request via the X-Teramind-Access-Token / X-Teramind-Instance-Url headers; in local/stdio mode they're read once from TERAMIND_ACCESS_TOKEN / TERAMIND_INSTANCE_URL.
| Env var | Description | |||
|---|---|---|---|---|
TERAMIND_ACCESS_TOKEN | JWT access token issued by the Teramind dashboard's Access Tokens menu. | |||
TERAMIND_INSTANCE_URL | The customer's Teramind instance base URL, e.g. https://yourcompany.teramind.co. | |||
MCP_TRANSPORT | stdio (default) or http. | |||
AUTH_MODE | env (default, reads the vars above) or gateway (credentials arrive per-request via X-Teramind-Access-Token / X-Teramind-Instance-Url, injected by the Conduit gateway). | |||
CONDUIT_S2S_SECRET | When set, the HTTP transport requires a valid X-Gateway-S2S header (Conduit sidecar auth) on every /mcp request. | |||
LOG_LEVEL | debug \ | info (default) \ | warn \ | error. |
teramind_list_computers - list monitored computers (hostname, FQDN, MAC/IP, OS, monitoring status).teramind_get_computer - get full detail for a single computer.teramind_list_agents - list monitored agents (Teramind's term for a monitored employee/user identity): id, name, email, avatar, online status.teramind_get_agent - get full detail for a single agent.teramind_list_departments - list departments (org-structure metadata).teramind_get_department - get full detail for a single department.teramind_list_alerts - list fired rule-violation events in a time window, optionally filtered by agent/computer/department.teramind_list_anomaly_rules - list configured ML-based anomaly-detection rules (type, risk quotient, trigger conditions).teramind_get_anomaly_rule - get full detail for a single anomaly rule.teramind_list_anomaly_rule_tags - list the tags available to categorize anomaly rules.teramind_list_behavior_policies - list behavior policies (what activity type each policy watches and its match conditions).teramind_get_behavior_policy - get full detail for a single behavior policy.teramind_list_behavior_policy_groups - list behavior policy groups (the containers that organize behavior policies).teramind_get_behavior_policy_group - get full detail for a single behavior policy group.teramind_list_monitoring_profiles - list monitoring profiles (which data types are configured to be captured, and for whom).teramind_get_account - get the authenticated account's own settings (credential sanity check).This is a deliberately narrow, read-only v1 surface, scoped MORE conservatively than this catalog's usual bar given the sensitivity of an insider-threat/employee-monitoring product. Teramind's documented API (fetched directly from its published Postman collection, apidoc.dev.teramind.co) has 239 operations across dozens of product areas (monitoring, BI reporting, time tracking, scheduling, productivity classification, LDAP, task management, scheduling). This connector implements 16: literal HTTP GET reads covering only computer/user/session inventory, department metadata, and rule/alert configuration. Every tool is classified isAdmin: true in the Conduit gateway regardless of verb, given the sensitivity of employee-monitoring data.
No literal `GET` endpoint exists for session inventory. Teramind's session data (Sessions report, Login session BI grid) is only reachable through POST query/grid-style endpoints, not a plain resource GET - documented here as a finding, not fabricated as a tool. Session data is out of this connector's v1 scope as a consequence, not a separate exclusion decision.
GETPer this connector's scope boundary, the distinction is: metadata about monitoring (who is monitored, when, what rule fired) is in scope; the actual captured content of what was monitored, or a mechanism to obtain a live credential, is not, regardless of read/write verb.
| Endpoint | Rationale |
|---|---|
GET /tm-api/agent/:id/avatar/:scale | Returns the agent's avatar/headshot image - biometric-adjacent photo content. |
GET /tm-api/activity/email/:id/info | Email-activity metadata (participants/subject) - content-adjacent; excluded alongside its two siblings below rather than judged separately. |
GET /tm-api/activity/email/:id/body-html-document | Returns the full captured email body as rendered HTML. Raw captured content. |
GET /tm-api/activity/email/:id/body | Returns the full captured email body. Raw captured content. |
GET /tm-api/player/settings | Session-recording player/playback settings for a specific agent+computer. |
GET /tm-api/player-tags | Annotations/bookmarks tied to recorded-session timelines. |
GET /tm-api/player-tags/timeline | Timeline tags for a specific agent/computer's recorded sessions over a period. |
GET /tm-api/player/export-video/status/:id | Status of a screen-recording video export job. |
GET /tm-api/player/available-video-data | Enumerates which recorded video segments exist for a computer/period - an inventory of available screen recordings. |
GET /tm-api/report/export/download/:id | Generic report-export download - the export could be of ANY report type this API supports, including keystrokes, emails, instant messages, or video, so it is excluded as a class rather than judged per export. |
GET /tm-api/report/export/status | Status of a report-export job - same generic content-bearing concern as the download endpoint above. |
GET /tm-api/short-token | Mints a new short-lived, live access token. Credential issuance, not content - held to the same bar as a credential-return endpoint in every other connector in this catalog. |
GET /tm-api/token | Lists the account's active JWT token IDs - credential/session-management data. |
No GET endpoint anywhere in Teramind's documented API returns raw keystroke logs, chat/IM content, printed-document content, or social-media activity content - those are exclusively reachable through the POST /tm-api/report/*/grid and POST /tm-api/wip/tma-query (BI) families, which this connector excludes as a category below. This connector's `GET`-only scope therefore rules out keystroke/screenshot/chat-content exposure by construction, not merely by the per-endpoint judgment calls above - see Credential scope for what this claim does and does not cover.
| Category | Why excluded |
|---|---|
| Activities (aggregated activity) | Activity/productivity data, not inventory or rule/alert metadata. |
| BI / BI Filter (37 ops) | All POST query/chart endpoints; several return captured content (keystrokes, emails, IM, social media, printed documents, web search, console commands). |
| Reports / Report settings / Reports batch (~55 ops) | All POST grid/settings endpoints; several return captured content (keystrokes, emails, IM, printing, social media, console commands, video export). |
| Video export (remaining 2 ops) | POST write actions that generate exports of screen-recording content. |
| Time Tracking Reports, Time tracker tasks, Tasks, Schedule | Employee clock-in/task/shift-scheduling features, unrelated to monitoring inventory or rule/alert data. |
| LDAP | Directory-service connection config - out of scope, and a plausible vector for exposing bind-account details even as a plain read. |
| SMTP, Ingestion | Single POST write actions (send test email, create VoIP events); no read surface. |
| Shared lists | Rule-input datasets (e.g. keyword/URL watchlists referenced by rules) of ambiguous sensitivity - excluded as a judgment call rather than included by default. |
Productivity Profile, instance/tma-categories | Productivity-classification taxonomy - arguably rule-adjacent, but not named in this connector's scope; excluded to stay tight rather than included as a stretch. |
instance/tma-state, time, license/usage | Generic utility/status endpoints, none of which fit computer/user/session inventory or rule/alert data. |
Every POST/PUT/DELETE/PATCH on Agent, Computer, Department, Behavior Policy, Anomaly Rule, Authorization, Monitoring Profile | Write, provisioning, enable/disable-monitoring, or account-mutation operations. Never implemented, regardless of verb. |
| Anomaly-rule / behavior-policy templates, tags-and-misc bundle, demo policy | Catalogs for AUTHORING new rules, not this org's actual configured monitoring - out of scope for a read-only inventory connector (teramind_list_anomaly_rule_tags is the one exception kept, as a simple, low-risk taxonomy lookup directly useful for interpreting teramind_list_anomaly_rules output). |
They can be added as a follow-up if there's demand, after a deliberate scope decision - not by default.
GET /tm-api/v1/agents[/:id] supports an optional fields query parameter that can return salary_type and default_wage (compensation data) and ldap_attrs (raw directory attributes) - HR/PII data well beyond "who is monitored." This connector's `client.ts` never passes that parameter, so only the default identity fields (agent_id, name, email_address, avatar, online) are ever returned, regardless of what a caller requests through the tool's input schema (there is no fields parameter exposed on teramind_list_agents / teramind_get_agent at all).
teramind_list_alerts is squarely in this connector's named scope ("rule/alert data"), and its response shape is documented by Teramind to include description/caption/values fields describing why a rule fired. Depending on the rule type, those fields may carry a short excerpt of the triggering context (e.g. a matched keyword, or a visited URL) rather than pure metadata - this is passed through as Teramind returns it, unmodified. This was judged in-scope because alerts are explicitly named in this connector's scope and the excerpt (if present) is bounded to what a human already configured a rule to flag, not raw unfiltered activity capture - but it is flagged here explicitly, per this task's instruction, rather than decided unilaterally as a closed question.
This is the single most important finding in this README. Two claims, deliberately kept at different confidence levels:
(1) STRUCTURALLY VERIFIED - this connector's own code never calls
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요