프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. 리뷰와 계정 기능은 다음 단계에서 열려요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

Cap Shield

제작자: robinlidberg-dot버전 0.4.1i★ –i내 컴퓨터에서 실행
레지스트리 이름io.github.robinlidberg-dot/cap-shield

설치

개요

제작자가 쓴 설명(영어 원문)

Context selection and compression for AI agents - recall measured, not claimed.

PopNx MCP의 세 기둥

이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.

할 수 있는 일

이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.

  • 연결 방식: 내 컴퓨터에서 실행
  • 전송 방식: stdio
  • 카테고리: 기타
  • 입력해야 할 값: CAP_SHIELD_API_KEY

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

설치하기 전에

  • 기본 점검: 1개 중 1개 통과
  • 내 컴퓨터에서 내 사용자 계정의 권한(파일, 네트워크, 앱)으로 실행돼요.
  • 직접 입력할 값: CAP_SHIELD_API_KEY

비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.

필요한 것

  • PyPIPython의 uv 설치(uvx 명령어용)

어떤 앱을 쓰세요?

위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.

Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요

{
  "mcpServers": {
    "cap-shield": {
      "command": "uvx",
      "args": [
        "cap-shield"
      ],
      "env": {
        "CAP_SHIELD_API_KEY": "your-value"
      }
    }
  }
}

터미널에서 이 명령어를 실행하세요

claude mcp add cap-shield --env CAP_SHIELD_API_KEY=your-value -- uvx cap-shield

실행하기 전에 빈 값을 채워 주세요.

Cursor에서 열기

또는 설정을 직접 복사하기

프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요

{
  "mcpServers": {
    "cap-shield": {
      "command": "uvx",
      "args": [
        "cap-shield"
      ],
      "env": {
        "CAP_SHIELD_API_KEY": "your-value"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

VS Code에서 열기

또는 설정을 직접 복사하기

프로젝트의 .vscode/mcp.json에 붙여 넣으세요

{
  "servers": {
    "cap-shield": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "cap-shield"
      ],
      "env": {
        "CAP_SHIELD_API_KEY": "your-value"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.

선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.

직접 입력할 값

  • CAP_SHIELD_API_KEY 비밀 env
    Only needed for the two tools that store and retrieve memory. measure_traffic and list_packages work without it.

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

할 수 있는 일

내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 GitHub 계정 robinlidberg-dot 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요

  • … 아직 점검 안 함

    계속 관리되고 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • … 아직 점검 안 함

    라이선스 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • – 해당 없음

    엔드포인트 응답

    내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요

  • – 해당 없음

    OAuth로 로그인

    내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요

기타 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 32545개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 32545개 중 30%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 32545개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

Cap Shield, 안전한가요?

해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

입력해야 할 값: CAP_SHIELD_API_KEY

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.4.1)은 2개월 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Python (uv)도 있어야 해요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, Python MCP

대안

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

Spec Driven Development

제작자: formulahendry

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

내 컴퓨터에서 실행★ 440MIT14개월 전 업데이트
설치

Remote Desktop Commander

제작자: desktop-commander

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

클라우드에서 실행★ 211어제 업데이트
설치

Python MCP

제작자: Files-com

Local-only Python MCP server for the Files.com API.

내 컴퓨터에서 실행오늘 업데이트
설치

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

CAP-Shield MCP server

Context selection and compression for AI agents — with the recall measured, not claimed.

One file. No dependencies. No SDK required.

Why

More context makes agents worse. ETH Zurich found context files LOWER task success versus giving the agent no repository context at all, while raising inference cost by over 20 %. Around two thirds of production agent failures trace to context problems, not to the model being incapable.

So the question is not how much you cut. It is whether what you kept was enough — and that is measured here, on a benchmark we did not choose: LongMemEval-S, 500 questions. Recall@10 of 97.1 % against a lexical baseline of 51.9 % (measured 2026-09-28 — figures update as retrieval does; fetch .well-known/cap-shield.json for the current number rather than trusting this file).

Recall@10 is the strict measure: a question counts only when ALL gold sessions were found. Finding half the answer means the agent answers confidently on half a basis.

Two of the eight tools need no account. Measure first, decide after.

Install

curl -O https://cap-shield-robin.fly.dev/cap_mcp.py
{

"mcpServers": { "cap-shield": { "command": "python", "args": ["/absolute/path/to/cap_mcp.py"] } } }

Python 3.9+. Nothing else.

The optional SKILL.md tells an agent *when* to use these tools — and when not to.

Use it from Claude (Claude.ai, Claude Desktop, or Cowork) — no download

The server is also reachable directly over HTTP, so a hosted Claude client can connect to it without installing anything locally.

In Claude: Settings → Connectors → Add custom connector, and enter the server URL:

https://cap-shield-robin.fly.dev/mcp

Under Authentication, choose No sign-in — this server is authenticated with an API key, not OAuth (OAuth support is not built yet; see Status below). Claude will warn that anyone with the URL can use the connector without sign-in — that warning is accurate, and is exactly why the two free tools below need no key at all, while the rest do.

`measure_traffic` and `list_packages` work immediately, with no header and no account — nothing more to configure.

To use the account tools (remember, assemble_context, pack_batch, unpack_batch, issue_pass): get a key first (get_account, or the console at https://cap-shield-console.lovable.app), then add it under Request headers in the same connector dialog:

HeaderValue
AuthorizationBearer YOUR_KEY_HERE

The Bearer prefix is required — a bare key without it is rejected with NYCKEL_KRAVS. This is a standard bearer-token header, so the same two fields should work in any MCP client that lets you add a custom request header to a remote server, not just Claude — that is just the one this has actually been tested against.

Tools

measure_traffic · *no account*

Measure how much of your own agent traffic could be saved. NO ACCOUNT OR KEY NEEDED — use this first. Returns byte savings over the wire and, if a query is given, token savings from selective context retrieval. Nothing is stored: the text is compressed in memory and discarded. Rate limited to 20 calls per hour per IP.

list_packages · *no account*

List the available dictionaries with their MEASURED compression, including the ones that perform badly. Each entry says whether it works one message at a time or only batched, and how many messages came out LARGER. No key needed.

remember · *requires a key*

Store a memory entry for later retrieval. REQUIRES A KEY. This does not call any language model — it stores text in an isolated per-tenant archive. Use assemble_context to get relevant entries back.

assemble_context · *requires a key*

Retrieve the memory entries that answer a question, within a token budget. REQUIRES A KEY. Send the returned 'context' to your language model INSTEAD of the whole history. This does not call a model itself — it selects what to send. The budget is a ceiling, not a target: selection stops where relevance runs out, often well below it. The response says how many entries were left behind and why.

pack_batch · *requires a key*

Pack several messages into ONE compressed packet instead of packing them one at a time. REQUIRES A KEY. Worth it for many small/medium messages (the per-message header cost is paid once per batch, and zstd shares context across them) — for a single message this has no advantage. Returns packet_b64 (hand it to unpack_batch to get the messages back) plus the measured byte savings versus packing each message separately. SECURITY: only batch messages that already share the SAME trust boundary (same tenant/agent — nothing attacker-influenced mixed in with a secret). Batched messages share one compression context, which can leak size-based information between them (a CRIME/BREACH-style side channel). There is no padding mitigation on this endpoint today, so trust-boundary separation is the only protection — don't rely on padding.

unpack_batch · *requires a key*

Unpack a batch packet made by pack_batch (or by the /api/v1/pack-batch endpoint) back into the exact original list of messages, in order. REQUIRES A KEY. Not for a packet made by the single-message pack endpoint — that is a different format and this will reject it.

get_account

Get an account and an API key. Requires an email address. The key is returned ONCE and cannot be shown again — store it immediately. Beta quotas are low by design; they are hard stops, never overage billing.

issue_pass · *requires a key*

Agent identity / agent passport. Issue a short-lived (15 minute) signed credential (a JWT) stating who the caller acts for. REQUIRES A KEY. Anyone can verify it independently against /.well-known/jwks.json — without calling CAP-Shield again. 'acts_for' and 'scope' are NOT validated against reality: the pass only attests that the key holder claimed this, at this time, and that the claim is recorded in the audit chain. This is identity and claimed authorization, not a payment or access-control mechanism.

The descriptions above are copied verbatim from the server. If they ever differ from what tools/list returns, the server is right and this file is stale.

Optional: LLM escalation for the hardest questions

Retrieval and compression above never call a model. assemble_context also returns escalate_recommended: true on one specific category of question — multi-step counting ("how many times did I mention X?"), summing amounts spread across several memories, reconstructing chronological order across multiple events — where the answer is not sitting in any single entry and has to be assembled. Plain retrieval gets these right most of the time; this flag is for the rest.

What you do with that flag is yours to decide. CAP-Shield never spends your tokens or sees your model key.

cap_escalate_helper.py is a reference implementation of that one extra step: drop it into your own pipeline, call it with your own ANTHROPIC_API_KEY or OPENAI_API_KEY, only for the questions CAP-Shield flagged.

pip install anthropic   # or: pip install openai

export ANTHROPIC_API_KEY=...

from cap_escalate_helper import eskalera_om_behovs

cap_svar = assemble_context(...) # whatever CAP-Shield returned you svar = eskalera_om_behovs(cap_svar, fraga="How many times did I mention X?", modell="claude") # or modell="gpt-5-mini" print(svar["svar"])

If escalate_recommended is false, nothing is sent to any model — the function returns immediately, so it is safe to call unconditionally on every response; it only spends an API call when CAP-Shield actually asked for one.

python cap_escalate_helper.py --demo shows exactly what would be sent, no key required.

A more targeted entry point, eskalera_om_behovs_v5, asks the model to only extract the raw pieces (amounts, dates, event names) and lets plain Python do the counting, summing or sorting — removing an entire class of arithmetic/sequencing mistakes a model can make answering in free text. It is the version used in our own benchmark validation of this feature.

Reproducing a number we published against your own run requires the current version of this file — the prompts and matching logic behind it are still actively tuned, and an older local copy can score meaningfully differently.

What the numbers mean

Compression saves bytes over the wire. Selection saves tokens in the context. Two different mechanisms — adding them together produces a number that means nothing.

Compressed packets are decompressed before a model sees them, so this does not reduce inference cost. Saying otherwise is the easiest way to be wrong about this project.

Every figure is published live, including what has *not* been measured and which packages perform badly:

https://cap-shield-robin.fly.dev/.well-known/cap-shield.json

Fetch that rather than trusting this file. It goes stale; the document does not.

Measuring without MCP

pip install cap-shield
from cap_shield import measure, print_measurement

print_measurement(measure(texts=[...], query="..."))

No account, nothing stored. The response includes the degraded share — how many of your messages came out larger.

Batching has a security condition

Batching compresses several messages in the same context, which opens a CRIME/BREACH-style side channel: someone who can place chosen text in the same batch as a secret, and observe the batch size, learns something about the secret.

Only batch messages that already share a trust boundary. Optional padding closes the leak for under two bytes a message, and it is off by default — we say so rather than let you assume otherwise.

Individual packing does not have this problem at all.

Portability

Dictionary versions are never deleted, and the guarantee does not rest on us still being here: the archive export carries the dictionary binaries, and a standalone unpacker runs with no gateway, no network and no other part of the system.

https://cap-shield-robin.fly.dev/cap_unpack.py

It is served without a token, because whoever needs it most is whoever no longer has an account.

Status

Beta. Server version 0.5.0.

Docs: https://cap-shield-robin.fly.dev/docs/quickstart Console: https://cap-shield-console.lovable.app

Licence

MIT — see LICENSE.

PopNx에게 묻기