Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
30 security tools for AI agents: phishing links, exposure maps, DNS, SSL, PQC, history, pivots.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
DECHONET_URL, DECHONET_LOCALE, DECHONET_API_KEY, DECHONET_SESSION_COOKIE비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
웹, 데스크톱, 모바일의 Claude에서 쓸 수 있어요:
https://dechonet.com/mcpClaude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"dechonet": {
"command": "npx",
"args": [
"-y",
"dechonet-mcp"
],
"env": {
"DECHONET_URL": "your-value",
"DECHONET_LOCALE": "your-value",
"DECHONET_API_KEY": "your-value",
"DECHONET_SESSION_COOKIE": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add --transport http dechonet https://dechonet.com/mcpclaude mcp add dechonet --env DECHONET_URL=your-value --env DECHONET_LOCALE=your-value --env DECHONET_API_KEY=your-value --env DECHONET_SESSION_COOKIE=your-value -- npx -y dechonet-mcp실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"dechonet": {
"url": "https://dechonet.com/mcp"
}
}
}프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"dechonet": {
"command": "npx",
"args": [
"-y",
"dechonet-mcp"
],
"env": {
"DECHONET_URL": "your-value",
"DECHONET_LOCALE": "your-value",
"DECHONET_API_KEY": "your-value",
"DECHONET_SESSION_COOKIE": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"dechonet": {
"type": "http",
"url": "https://dechonet.com/mcp"
}
}
}프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"dechonet": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"dechonet-mcp"
],
"env": {
"DECHONET_URL": "your-value",
"DECHONET_LOCALE": "your-value",
"DECHONET_API_KEY": "your-value",
"DECHONET_SESSION_COOKIE": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요:
https://dechonet.com/mcp메뉴 이름은 요금제나 시기에 따라 조금 다를 수 있어요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
DECHONET_URL envDECHONET_LOCALE env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
도구 이름과 설명은 서버가 2026년 11월 6일에 알려 준 그대로예요. 우리가 아니라 제작자가 쓴 글이고, 일반 텍스트로만 보여 드려요.
dns_lookupQuery DNS records (A, AAAA, MX, TXT, NS, SOA, CAA) for a domain and validate email-related records, including DNSSEC presence and SPF/DMARC syntax, returning severity-rated diagnostics. Use this for a single authoritative answer about one domain. Use dns_propagation instead when
ssl_checkInspect a host's served TLS/SSL certificate and connection: expiry date, issuer, SAN list, chain integrity, revocation (OCSP, then CRL; unknown when neither answers — not graded unless revoked), TLS version, and HSTS, returning an A+ to F grade weighted by certificate validity (4
http_securityFollow a URL's HTTP redirect chain and audit response security headers (CSP, HSTS, X-Frame-Options, COOP, CORP, COEP, Permissions-Policy), grading A+ to F on the six core headers (CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy; COOP/CORP/C
email_authAssess a domain's email authentication and deliverability posture: MX records, SPF, DMARC, DKIM (probes 15 common selectors), BIMI, MTA-STS, TLS-RPT, and DANE, plus a blacklist check across all MX hosts, returning a 0-100 deliverability score. Use this for a full sending/receivin
port_scanProbe a host for a fixed set of common TCP ports (HTTP, HTTPS, SSH, FTP, SMTP, DNS, and common databases) and report which are open, the service name, and the response time. BEHAVIOR: this makes an ACTIVE TCP connection to the target. It is non-intrusive — a connect probe only; i
dns_propagationQuery one DNS record across 8+ global public resolvers (Google, Cloudflare, Quad9, OpenDNS, and more) simultaneously and report which resolvers return stale versus updated values. Use this after changing a record to confirm worldwide propagation. Use dns_lookup instead for a sing
reverse_dnsResolve the PTR (reverse DNS) record for an IPv4 or IPv6 address and verify forward-confirmed reverse DNS (FCrDNS) by checking that the PTR hostname resolves back to the same IP. Infers the hosting provider from PTR naming patterns. Use this to validate mail-server rDNS or identi
asn_lookupLook up Autonomous System (ASN) / BGP information for an IP address or AS number: the network operator, announced prefixes, abuse contact, and a classification (cloud, CDN, ISP, hosting, or enterprise). For an IPv4 address it also reports whether the address is on the Tor Project
whois_lookupRetrieve domain registration data via RDAP (with WHOIS fallback): registrar, creation/expiry/update dates, nameservers, and EPP status flags, highlighting risk states such as clientHold and pendingDelete. Use this for ownership, lifecycle, and expiry questions about a registered
subdomain_discoveryEnumerate the subdomains of a domain from Certificate Transparency logs — fully passive (no packets are sent to the target; CT logs are public records of every TLS certificate ever issued). Flags operational-looking names (dev, staging, admin, vpn, legacy) and wildcard certificat
lookalike_domainsGenerate the typosquat/lookalike variants of a domain that phishers actually register — homoglyph swaps (l→1, o→0, rn→m), TLD swaps (.com→.co), character omissions, transpositions, repetitions, hyphenations — and check which of them are currently registered (live NS delegation vi
ip_infoReport information about the caller's own public IP as seen by the server: IPv4/IPv6 address, ISP, ASN, approximate geolocation, and proxy/VPN heuristics. Takes no input — it reflects the egress IP of THIS MCP server's network, which is usually NOT the end user's IP. Use this to
email_header_analysisParse raw email headers to reconstruct the delivery path (each Received hop in order), extract SPF/DKIM/DMARC authentication results, measure per-hop delays, and flag unencrypted (non-TLS) hops. Use this to diagnose a specific message that was already delivered — spoofing, delays
subnet_calcCompute IPv4 subnet details from CIDR notation entirely locally — no network call: network and broadcast addresses, usable host range, total usable hosts, subnet mask, and wildcard mask. /31 and /32 are handled per RFC 3021 (point-to-point / single host). Use this for IPv4 addres
security_scanOne-shot comprehensive audit of a domain, scored 0-100 with an A+ to F grade and a prioritized action list. Five scored areas: the web connection (TLS certificate and HTTP security headers, measured on www when only www has an address), mail spoofing defence (SPF/DKIM/DMARC; a do
owasp_check AI에게 내리는 지시처럼 보여요Assess a domain's OWASP posture from EXTERNAL OBSERVATION only: the OWASP Secure Headers Project plus the externally observable OWASP Top 10:2025 subset — A04 Cryptographic Failures (TLS/cert), A02 Security Misconfiguration (header/info leaks), and A03 Software Supply Chain Failu
impersonation_exposureAssess how exposed a domain is to brand impersonation and phishing, PASSIVELY: live typosquat/lookalike domains (homoglyph, omission, transposition, TLD swap) that actually resolve, operational subdomains (dev/staging/admin) exposed in CT logs, and whether a wildcard certificate
domain_changesReport what has changed for a domain over time — the security regressions and drift that DechoNet's daily monitoring has recorded across every watch on the domain (SSL grade, headers, DNS, OWASP posture, impersonation exposure, etc.). Use this to answer "what changed on my domain
domain_historyShow how a domain's (or IPv4 address's) infrastructure has changed over time from DechoNet's stored observations: nameservers, A/AAAA, MX, CNAME, certificate issuer, registrar, RDAP nameservers and status, and for an IP its ASN and PTR — each value with when it was first and last
infrastructure_pivotFind other domains DechoNet has seen with the same infrastructure value — a nameserver, IP address, MX host, certificate issuer or registrar — with first and last seen, to map related infrastructure (e.g. other phishing domains on the same rare nameserver). Use it after domain_hi
watch_domainStart (or reuse) a daily DechoNet watch on a domain so that changes are recorded over time — SSL grade/issuer/expiry, DNS records, HTTP security headers, domain registration, and optionally OWASP posture and impersonation exposure. Use this once when the user cares about a domain
set_expectationsRecord what a domain should show from outside and check it now — HSTS or another header present, DMARC enforcing, an issue key no longer reported, an HTTP or TLS grade at or above a level, a certificate with enough days left, a DNS record present, absent or containing a value, HT
verify_expectationsCheck expectations from outside now, with fresh reads: either a stored set by id (from set_expectations — its state is updated and an anonymous set is kept another 30 days), or a domain plus a list of checks once, storing nothing. Same checks and outcomes as set_expectations (pas
check_before_action AI에게 내리는 지시처럼 보여요Check the page an agent is about to log in, pay, download from or submit to: whether the address impersonates a brand, how new the domain is, whether DechoNet or a licensed feed has already flagged it, and — opened from Seoul (and Tokyo for Japan-targeted pages) as a phone — what
crypto_check_before_signBefore an agent signs or sends from a crypto wallet: send the destination address (to), the page that asked (url) and/or the wallet request it is about to approve (request: the EIP-1193 method and params). The address is checked for its chain and checksum, the US Treasury OFAC sa
wallet_address_checkCheck one crypto wallet address: which chain it belongs to (EVM, TRON, Bitcoin, Solana — from the format alone), whether its checksum is valid (EIP-55, Base58Check, bech32/bech32m), whether it is on the US Treasury OFAC SDN sanctions list (read daily) or among the addresses the F
crypto_exchange_checkCheck whether a domain or link is the official address of a crypto exchange, wallet or dApp — Korean exchanges (Upbit, Bithumb, Coinone, GOPAX, DigitalX/Korbit) and major global exchanges, wallets and dApps — compared with the addresses the companies publish themselves (the Korea
report_pageReport a page to DechoNet: phishing or brand impersonation, a fake payment window (card fields where a payment provider should be), hidden instructions aimed at AI agents, a malicious download, a DechoNet verdict that looks wrong (false_positive) or a danger it missed (missed), a
golive_checkCheck whether a domain is ready to launch or migrate — a go/no-go verdict over five essentials: DNS resolves to an IP, has propagated consistently across global resolvers, SSL/TLS is ready, the site is reachable over HTTPS, and the domain registration is not about to expire. Use
pqc_readinessCheck whether a website's public TLS endpoint is ready for post-quantum cryptography: does it complete a TLS 1.3 handshake that offers only the hybrid X25519MLKEM768 key exchange (ML-KEM), and does the organisation's own server provide it or a CDN edge in front of it. Also report
mcp_server_checkCheck a remote MCP server from outside before connecting it to an agent: whether it requires authentication (and publishes OAuth protected-resource metadata, RFC 9728), which of its tools act on the world (run commands, write or delete files, send messages, make payments, read se
phishing_link_checkCheck the links in a suspicious text message (smishing) or e-mail before anyone taps them. Paste the whole message or a single URL: every link is extracted, followed through URL shorteners to its real destination, and judged on observable signals — domain age from RDAP, impersona
exposure_mapMap what an organisation exposes to the internet beyond its home page: subdomains from Certificate Transparency logs (plus hosts DechoNet has already observed), each opened once from outside and sorted into developer/ops tools, directory listings, admin screens, VPN/remote-access
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 6일 점검
레지스트리 이름이 도메인 dechonet.com 기준으로 확인되었어요(레지스트리가 도메인 소유를 확인해요)
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
455ms 만에 응답(HTTP 200)
로그인 필요 없음
도구 설명 2개에 AI에게 지시하는 것처럼 보이는 글이 있어요. 설치하기 전에 아래 내용을 읽어 보세요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 3개 중 2개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: DECHONET_API_KEY, DECHONET_SESSION_COOKIE
둘 다 가능해요. 내 컴퓨터에 설치해도 되고, 클라우드 버전에 연결해도 돼요.
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.8.0)은 오늘 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, zanadir
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ 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.
Find what a repository's CI is missing, and which security checks cannot fail the build.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
[dechonet.com](https://dechonet.com) · Remote MCP (no install) · Phishing link check · Free web tools · HTTP API · Detection benchmark · Status
Domain security reconnaissance for AI agents via the Model Context Protocol.
33 tools. No API key needed for non-commercial use. Phishing/smishing link checks, exposed admin page checks (admin screens, test servers, dev tools left open), DNS, SSL/TLS, post-quantum TLS readiness, HTTP security headers, email authentication, port scan, DNS propagation, reverse DNS, ASN/BGP, RDAP/WHOIS, subdomain discovery (CT logs), lookalike/typosquat detection, OWASP-mapped observable checks, brand-impersonation exposure, go-live readiness, MCP server checks before you connect one, domain change history — what changed since the last check — infrastructure history and pivots (past nameservers/IPs/issuers, and other domains seen on the same rare infrastructure), a daily watch you can set from the agent, and crypto checks — a wallet address's chain and OFAC sanctions listing, whether a site is an exchange's official address, and a check before an agent signs or sends.
Every result comes back interpreted, not just as raw JSON: a status, the key numbers, each issue with severity and confidence, and the concrete action to take. That is what an agent needs to tell a human what to do next.
Part of [DechoNet](https://dechonet.com). Every tool here is also a free web tool at [dechonet.com](https://dechonet.com) — no sign-up — backed by error-fix guides. This package brings the same checks to AI agents.
No npx, no install. Point any MCP client that speaks Streamable HTTP at:
https://dechonet.com/mcp
| Client | How to connect |
|---|---|
| Claude Code | claude mcp add --transport http dechonet https://dechonet.com/mcp |
| Claude app / Desktop | Listed in the Claude connectors directory: Customize → Connectors, search DechoNet → Connect. Or + Add → Add custom connector with the URL (Free plan: one custom connector) |
| ChatGPT | chatgpt.com/plugins → + → Add custom MCP server → URL under Connection, no authentication → Create as a plugin (work/school accounts need an admin to allow custom MCP servers) |
| Cursor | ~/.cursor/mcp.json: {"mcpServers":{"dechonet":{"url":"https://dechonet.com/mcp"}}} |
| VS Code (Copilot) | Command Palette → MCP: Add Server → HTTP → https://dechonet.com/mcp → server ID dechonet → Global → Copilot Global (~/.copilot/mcp-config.json). .vscode/mcp.json is deprecated. |
| Gemini CLI | gemini mcp add --transport http dechonet https://dechonet.com/mcp (in settings.json use httpUrl, not url) |
| Codex | codex mcp add dechonet --url https://dechonet.com/mcp |
| Devin Desktop / CLI (formerly Windsurf) | devin mcp add -s user dechonet https://dechonet.com/mcp (saved to ~/.config/devin/mcp_config.json as mcpServers.dechonet.url) |
| Any stdio-only client | npm package — see Quick Start below |
Step-by-step for each client: dechonet.com/mcp. The remote endpoint also serves 3 curated prompts (audit_domain, monitor_setup, investigate_changes) and 2 reference resources.
Add to your claude_desktop_config.json:
{
"mcpServers": { "dechonet": { "command": "npx", "args": ["-y", "dechonet-mcp"] } } }
Config file location:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonRestart Claude Desktop; DechoNet shows up in the chat input's tools menu. (Claude Desktop can also skip the install and add https://dechonet.com/mcp as a custom connector — see the table above.)
# Via npx (no install needed)
npx dechonet-mcp
npm install -g dechonet-mcp
The same checks work from a terminal or a CI step — no MCP client needed:
npx dechonet-mcp ssl example.com
npx dechonet-mcp email example.com --json npx dechonet-mcp scan example.com --fail-on bad # exit 2 when the overall grade is D or F
Checks: dns, ssl, http, email, port, propagation, rdns, asn, whois, subdomains, lookalike, scan, owasp, golive, pqc, mcp, phishing, exposure, changes, history, impersonation, ip, subnet (or any tool name below). --json prints the structured result, --raw keeps the raw data, --port sets the TLS port. Exit codes: 0 done, 1 the lookup failed, 2 the result reached --fail-on (bad or warn). With no arguments the package runs as the MCP server.
| Tool | Description |
|---|---|
phishing_link_check | Is this link a scam? — paste a text message or URL; follows shorteners, checks domain age, Korean brand impersonation, APK downloads, phishing feeds |
exposure_map | Admin pages open to the internet? — subdomains from CT, each opened once: admin screens, staging, dev tools, VPN logins, default pages, directory listings (counts; per-host detail for the verified owner on the web report) |
security_scan | Comprehensive scan — 9 checks in parallel, 0-100 Health Score, A-F grade |
dns_lookup | DNS records + DNSSEC + SPF/DMARC validation |
ssl_check | SSL/TLS certificate, chain, expiry, HSTS, CT history, A-F grade |
http_security | HTTP redirect trace + 10 security headers audit, A-F grade |
email_auth | SPF, DMARC, DKIM, BIMI, MTA-STS, DANE + blacklist check |
port_scan | Open TCP ports with service identification |
dns_propagation | DNS propagation across 6 public resolvers |
reverse_dns | PTR record + FCrDNS verification |
asn_lookup | ASN/BGP network identification + abuse contact |
whois_lookup | RDAP/WHOIS domain registration data |
subdomain_discovery | Passive subdomain enumeration from CT logs, operational-name flags (dev/staging/admin), wildcard detection |
lookalike_domains | Typosquat variants that are actually registered — homoglyph, affix (brand-login), TLD swap, keyboard slips — with the domain's own defensive registrations separated out |
owasp_check | OWASP-mapped checks that can be observed passively (headers, TLS, exposed files), honest about what is out of scope |
impersonation_exposure | Brand impersonation exposure grade: third-party lookalikes + exposed operational subdomains + wildcard certs |
golive_check | Go-live readiness — DNS, propagation, SSL, HTTP, registration in one READY / CAUTION / NOT READY verdict |
domain_history | Past nameservers, A/AAAA, MX, certificate issuer, registrar (and an IP's ASN/PTR) with first and last seen — from DechoNet's own observations, not passive DNS |
infrastructure_pivot | Other domains DechoNet saw with the same nameserver, IP, MX, issuer or registrar. Needs a free API key (DECHONET_API_KEY); shared infrastructure returns a count only |
domain_changes | What changed since the last check — status, grade, issuer, DNS, issues. Works from lookup history even without a watch |
pqc_readiness | Post-quantum TLS readiness: hybrid X25519MLKEM768 key exchange, whether the origin server or a CDN edge provides it, certificate signature algorithms. External indicator, not a full PQC audit |
mcp_server_check | Before you connect a remote MCP server: authentication and OAuth metadata, tools that act (commands, files, messages, payments, secrets), agent-steering text in tool descriptions, CORS/Origin, HTTPS. Initialize and tools/list only — no tool is called |
watch_domain | Register a domain for daily re-checks (SSL, DNS, HTTP, RDAP) so domain_changes accumulates a timeline. Writes a watch; idempotent |
set_expectations | State what a domain should show from outside (a header present, DMARC enforcing, an issue gone, a grade, certificate days, DNS records, HTTPS answering), check it now with fresh reads and every day after. Each result comes with a signed observation receipt; with an API key, a set that stops holding is reported in your account's daily mail |
check_before_action | Before logging in, paying, downloading or submitting: whether the page impersonates a brand, how new the domain is, whether it was flagged before, and — when the caller reports the page structure as host names — whether the card fields sit with a known payment provider. Answers danger / suspicious / unreachable / official / no_signals, with what was not checked; never 'safe' |
report_page | Report a page (phishing, fake payment window, hidden instructions for AI agents, malicious download, or a verdict that looks wrong), an MCP server whose tool descriptions steer agents, or a network anomaly (the certificate or addresses you saw differ). Only the host and kind are kept; a report changes no verdict by itself — DechoNet checks the page itself, independent reports first |
verify_expectations | Check a stored set (by id) or a one-off list from outside now — after a change, to see whether it is visible yet |
wallet_address_check | Crypto wallet address: chain from the format (EVM, TRON, Bitcoin, Solana), checksum, the US Treasury OFAC SDN sanctions list (read daily) and how many pages DechoNet judged dangerous showed it. Not listed is not 'clean'; the address is not stored |
crypto_exchange_check | Is a domain the official address of a Korean or global exchange, wallet or dApp — compared only with addresses the companies publish themselves; a domain that only uses the name gets its age, first certificate and a phishing check |
crypto_check_before_sign | Before an agent signs or sends: the destination address, the page that asked and the wallet request (unlimited approvals, Permit signatures, setApprovalForAll) judged together — danger / suspicious / no_signals, with what was not checked |
ip_info | Public IP, ISP, ASN, proxy detection |
email_header_analysis | Email delivery route tracing + auth results |
subnet_calc | CIDR subnet calculator (offline) |
Every tool response ends with a link to the full interactive report on dechonet.com for the human behind the agent.
Once connected, try asking Claude:
For a self-hosted HTTP/SSE bridge (the hosted remote endpoint above is usually simpler):
npm run start:sse
npm install
npm run build # TypeScript → build/ npm run dev # Run with tsx (stdio) npm run start:sse # Run SSE server
The MCP server calls DechoNet's public API (https://dechonet.com/api/util/*) — the same backend as the dechonet.com web tools — and returns s
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요