Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
Prove a physical item is genuine (NFC chip); read its EU Digital Product Passport, recalls, custody.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
Authorization비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
이 주소는 요청 header에 키가 필요한데, 커넥터 추가 메뉴에서는 넣을 수 없어요. 대신 Claude Code, Cursor, VS Code를 쓰세요.
터미널에서 이 명령어를 실행하세요
claude mcp add --transport http aeroz https://api.aeroz.io/mcp --header 'Authorization: Bearer {aeroz_api_key}'실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"aeroz": {
"url": "https://api.aeroz.io/mcp",
"headers": {
"Authorization": "Bearer {aeroz_api_key}"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"aeroz": {
"type": "http",
"url": "https://api.aeroz.io/mcp",
"headers": {
"Authorization": "Bearer {aeroz_api_key}"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 주소는 요청 header에 키가 필요한데, 커넥터 추가 메뉴에서는 넣을 수 없어요. 대신 Claude Code, Cursor, VS Code를 쓰세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
Authorization 비밀 HTTP header이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
도구 이름과 설명은 서버가 2026년 11월 8일에 알려 준 그대로예요. 우리가 아니라 제작자가 쓴 글이고, 일반 텍스트로만 보여 드려요.
verify_chipVerify a physical item by its Aeroz chip: the UID plus whatever signature the tap carried. Same answer as GET /v1/verify. Use this before trusting any claim about a physical unit — a database record proves a record exists, not that the object in front of you is the one it describ
check_recallCheck whether a specific unit is subject to an active recall, from the register: reads only, verifies no signature and spends no chip answer. Returns known (on the register), recalled, and the recall reason, severity, date and id when one applies. recalled:null means the status i
dpp_readinessAssess how ready a product category is for an EU Digital Product Passport, against the delegated act that applies to it. Returns the required data fields, which are present, and which are missing. For batteries (category "batteries", or "lmt" / "ev" / "industrial" / "stationary")
list_findingsList findings raised by the Aeroz compliance agents watching this organisation — recall hits, DPP data gaps, regulatory changes, dwell anomalies, and clone detections. Use this to answer "what needs my attention".
list_agentsList the Aeroz compliance agents available to this organisation and which are currently enabled. Use this to explain monitoring coverage or to find an agent worth enabling.
get_usageReturn this organisation's Aeroz verification volume and outcome breakdown over a recent period. Use for reporting on scan volume, authentication failure rates, and trend. The buckets — authentic, recalled (any tap whose answer carried a recall, verified or not), mismatched (fail
list_sandbox_chipsList the seeded sandbox chips for this organisation, with the UID and signature to pass to verify_chip, one per scenario: authentic, recalled, signature_mismatch (listed with a deliberately WRONG signature) and not_found (a UID that is not on the register). Sandbox only — use whe
onboarding_statusReport where this organisation stands in Aeroz onboarding: current stage, percentage complete, health, the single next action, and every open step with which side owns it. Use this to answer "what do we still need to do", "why are we not live yet", or "what is Aeroz waiting on".
onboarding_next_stepReturn only the single most important next action and how to complete it. Use when the user asks what to do next and does not want the whole checklist.
complete_onboarding_stepMark a manual onboarding step complete on behalf of this organisation. Only steps the customer owns and that Aeroz cannot verify automatically can be set this way; an automatically verified step will refuse, because a self-report that contradicts the platform data is worse than n
business_briefThe full picture of this business as Aeroz holds it: declared product categories with their mandate dates and whether each date is fixed or provisional, onboarding state, open findings, and — importantly — which recall sources are NOT being monitored. Use this to orient before an
ask_agentAsk this organisation's dedicated Aeroz agent a question in plain language and get a grounded answer. Use it for anything a human at the business would ask their account manager: "what do we still need to do", "when is our deadline", "what is Aeroz waiting on", "what is not being
agent_conversationThe recent conversation between this organisation and its Aeroz agent, across the dashboard, MCP and email. Use it to see what has already been asked and answered before asking again.
create_shipmentRegister a shipment of physical items under a sensitivity profile so Aeroz can watch it in transit. Profiles: cold_chain (2–8 °C, mean kinetic temperature), frozen (≤ −15 °C), ambient_crt (15–30 °C, MKT ≤ 25), fragile (shock, tilt), high_value (light = container opened, dwell, ch
shipment_statusEverything Aeroz holds about one shipment: profile and thresholds, status, items, custody events with their chip verification, the telemetry assessment (min/max/mean temperature, mean kinetic temperature, minutes out of range, peak shock, whether an excursion is open), the ranked
list_shipmentsList this organisation's shipments, optionally by status (planned | in_transit | delivered | exception | cancelled).
log_telemetryRecord sensor readings for a shipment — position, temperature, humidity, shock, tilt, light, battery — up to 500 per call. Aeroz judges the whole recent stream against the lane's thresholds immediately and returns the assessment and any findings raised. A shipment in `planned` mo
record_custodyRecord a custody event on a shipment: pickup, checkpoint, handoff, delivered, exception or note. Pass the chip `uid` (and `signature`) read at the handoff and Aeroz verifies it on the spot, turning a signature on a form into proof of presence. On a high_value lane a handoff witho
plan_routeCompute and rank routes for a shipment at a departure time, scored for its sensitivity profile: traffic-aware duration and delay, ambient heat or cold along the way against the lane's ceiling, and rain, snow or gusts. Lower score is better and only comparable within one computati
shipment_profilesThe sensitivity profiles Aeroz can judge a shipment against and the exact thresholds each applies, plus whether traffic and weather providers are configured for this deployment.
bind_graded_itemBind an Aeroz chip to a graded collectible slab (PSA, CGC, SGC, BGS, TAG). The chip UID, grader, cert number, grade and card identity are signed together, so the chip vouches for exactly this label: a label moved to another holder, or a cert reprinted on a copy, shows as "binding
graded_itemA graded item as Aeroz holds it: grader, cert, grade, identity, whether the grader's own record matched, how many times it has been verified by tap, and its full provenance chain (sealed, sold, consigned, vaulted, shipped, verified…). Use for "is this slab the one that was sealed
record_provenanceAppend an event to a graded item's chain: sold, consigned, vaulted, withdrawn, shipped, received, flagged, retired, note. Events are append-only and, when public, appear on the buyer's tap page. `flagged` marks the item and needs a `note` saying why. `retired` ends the binding (t
list_graded_itemsList this organisation's chip-bound graded items, optionally by status (sealed | active | flagged | retired).
my_sectionReturn everything the Aeroz agent has built for this organisation: the regulatory calendar with only ADOPTED dates, the passport scaffold per product showing exactly which fields are missing, the identifier audit, the GS1 route, monitoring coverage, integration readiness, and the
trace_unitThe whole history of one serialized unit: every custody hop from commissioning to dispensing, whether the append-only log has been tampered with, and what each regulation makes of it. Use this to answer "where has this been", "who handled it", "is its record trustworthy" and "doe
find_unitResolve anything a scanner or a person can produce — a chip UID, a GS1 Digital Link URI, or a GTIN plus serial — to a unit, and return its history and verdicts. This is the tool for "what is this thing in front of me". An identifier that resolves to nothing is NOT the same as one
chain_readinessSweep this organisation's units and report which regulatory checks are failing across the portfolio, how many units each affects, and examples to open. This is the tool for "which of my units have a broken custody chain", "what is failing right now", "what will not pass on 18 Feb
get_passportRead the PUBLIC view of a published Digital Product Passport hosted by Aeroz, by its GS1 Digital Link (e.g. https://id.aeroz.io/01/09506000134352/21/ABC123) or its passport id (dpp_...). Returns the signed passport fields everyone may see, the version and its date, recall status
verify_passport_credentialCheck a passport credential (a vc+jwt issued by Aeroz) against Aeroz's published signing keys. Returns valid:true with the issuer, product id, passportVersion and validFrom when the signature checks out and the credential is an Aeroz Digital Product Passport, or valid:false with
list_connectorsThe systems Aeroz can connect to (WMS, ERP, commerce, EPCIS). Each has a tier and `tier_means` in words: `live` moves data today, `credentials` only checks your sign-in, `bridge` needs an on-site agent, `guided` means an Aeroz engineer finishes the hookup. Do not describe a guide
list_integrationsThis company's connected systems, each with its `status` and `status_means`. Only `connected` is proven; `unverified` means stored but not yet proven, which is not the same as working.
test_integrationTest one connected system now and return the real result, including the remote server's own error text. Changes its status to what the test proved. Pulls no data.
list_webhook_endpointsThis company's webhook endpoints: the address (query string hidden), the events each receives, and its health in words. Never shows a signing secret. Needs the `webhooks:read` scope.
send_webhook_testSend a signed `ping` to one webhook endpoint now and return the receiver's answer (HTTP status and body). A real request to the customer's address; it is not retried. Needs the `webhooks:write` scope.
list_webhook_deliveriesRecent webhook deliveries, newest first, each with every attempt and the receiver's answer. A `pending` delivery has a `next_attempt_at`: it is being retried, not lost. Needs the `webhooks:read` scope.
list_webhook_eventsEvery event Aeroz can send to a webhook, with a description and an example payload (sample values from a fictional company, not real data), how deliveries are signed, and the retry schedule.
list_productsThis company's registered products (archived ones left out). An empty list means recall watch has nothing to match against, not that all is clear.
create_productRegister one product, by the same rules as POST /v1/products. Recall watch needs a GTIN, NDC or UPC. Returns the passport gap for its category when there is one; that is a readiness signal, not a legal determination.
import_productsAdd or update many products at once, by the same rules as POST /v1/products/import: at most 5,000 rows, each row the fields of create_product. Send `dry_run: true` first: it checks every row and writes nothing. A real import writes nothing while any row has a problem. Each row co
get_import_template_columnsThe columns import_products reads, in the template's order, with the template's sample rows (a fictional company's products, not real data), the row limit and the rule for matching rows to existing products.
searchSearch this company's records the way the dashboard search bar does: products (name, SKU, GTIN, NDC), lots, units (chip ID, serial), tags (UID, EPC), shipments (reference, carrier, places), holds and cases, partners (name, GLN), locations, recalls, integrations and webhooks by na
where_isWhere a product's or a lot's units are, by last known place: sites, partners, scans and shipments in transit, each with how the place is known. Units with no recorded place are counted and listed, never placed. Give `product` (a product id), `lot`, or both.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 9일 점검
레지스트리에 소스 저장소가 없어서, 게시자(aeroz.io)와 코드를 맞춰 볼 수 없어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
271ms 만에 응답(HTTP 200)
로그인 필요 없음
도구 설명 43개를 읽었고, AI에게 보내는 숨겨진 지시는 없었어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 3개 중 2개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: Authorization
제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.2.0)은 25일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, arr-mcp
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
One server, 40 tools, the whole media stack: *arrs, Jellyfin, Plex, Seerr, Cleanuparr, downloaders
저장소에서 README를 찾지 못했어요