AIが構築したアプリケーションに対して自然言語によるセキュリティスキャンを実行し、コーディングエージェント向けの修正リクエストを生成します。
別名 contentasoftware/appledger
- スター
- 0
- ツール
- —
- ダウンロード数(30日間)
- —
- 最新バージョン
- 0.2.5
- 最終コミット
- 2026年10月14日
- ライセンス
- MIT
AppLedger MCPとは
AppLedgerはMCPサーバーです。 AIが構築したアプリケーションに対して自然言語によるセキュリティスキャンを実行し、コーディングエージェント向けの修正リクエストを生成します。.
プロジェクトのREADMEから生成された概要
AppLedger MCP server について
AppLedgerは、Claude Code、Cursor、LovableなどのAIツールを使用して構築されたアプリケーションに対し、セキュリティフィードバックを提供します。独立したツールを使用してアプリケーションフォルダをスキャンし、脆弱性を特定した上で、技術的な検出結果を分かりやすい自然言語に翻訳します。このサービスにより、開発者は何が問題なのか、なぜそれが重要なのか、そしてどのように修正すべきかを理解できます。また、問題を解決するためにコーディングエージェントへ直接渡せる、特定の fix-prompt.md ファイルも生成します。
ユーザーはホストモードまたはローカルモードを選択できます。ホストモードでは、Gitでコミットされる対象のファイルがzip形式でまとめられ、HTTPS経由でappledger.netへスキャン用に送信されます。その際、.env や SSHキーなどの機密ファイルは厳格に除外されます。ローカルモードでは、インストール済みのTrivyおよびOpengrepを使用するため、すべてのコードはローカルマシン内に保持されます。システムはTrivyを使用して漏洩したキーや古いライブラリを特定し、Opengrepを使用してSQLインジェクションなどの危険なパターンを検出します。既存のSonarQubeサーバーをお持ちの場合、ローカルモードではオプションとしてそれらのスキャンを含め、コード品質やセキュリティホットスポットを確認することも可能です。
できること
- 1AI修正リクエストの生成セキュリティ上の欠陥を修復するために、コーディングエージェントに渡せる準備済みの指示セットを含むMarkdownファイルを作成します。
- 2AI生成コードの脆弱性監査アプリケーションフォルダをスキャンして、漏洩したパスワード、古いライブラリ、またはSQLインジェクションのような危険なパターンを見つけます。
- 3定期的なセキュリティ検査の自動化cronやWindows タスク スケジューラなどのシステムスケジューラを使用して、日次または週次の自動スキャンを設定します。
プロジェクトの README から作成されています。すべてのユースケースは、その引用と照らし合わせて確認されています。
AppLedger MCPのインストール方法
フォーマット検証日 2026年11月10日Cursor に追加Gooseに追加Claude CodeにAppLedger MCPをインストール
$ claude mcp add --env 'APPLEDGER_KEY=<YOUR_APPLEDGER_KEY>' appledger -- uvx appledgerCursorにAppLedger MCPをインストール
~/.cursor/mcp.json
{
"mcpServers": {
"appledger": {
"command": "uvx",
"args": [
"appledger"
],
"env": {
"APPLEDGER_KEY": "<YOUR_APPLEDGER_KEY>"
}
}
}
}VS CodeにAppLedger MCPをインストール
.vscode/mcp.json
{
"servers": {
"appledger": {
"type": "stdio",
"command": "uvx",
"args": [
"appledger"
],
"env": {
"APPLEDGER_KEY": "<YOUR_APPLEDGER_KEY>"
}
}
}
}VS Code CLIにAppLedger MCPをインストール
$ code --add-mcp '{"name":"appledger","type":"stdio","command":"uvx","args":["appledger"],"env":{"APPLEDGER_KEY":"<YOUR_APPLEDGER_KEY>"}}'Claude DesktopにAppLedger MCPをインストール
claude_desktop_config.json
{
"mcpServers": {
"appledger": {
"command": "uvx",
"args": [
"appledger"
],
"env": {
"APPLEDGER_KEY": "<YOUR_APPLEDGER_KEY>"
}
}
}
}CodexにAppLedger MCPをインストール
$ codex mcp add appledger --env 'APPLEDGER_KEY=<YOUR_APPLEDGER_KEY>' -- uvx appledgerCodex config.tomlにAppLedger MCPをインストール
~/.codex/config.toml
[mcp_servers.appledger] command = "uvx" args = ["appledger"] [mcp_servers.appledger.env] APPLEDGER_KEY = "<YOUR_APPLEDGER_KEY>"
Gemini CLIにAppLedger MCPをインストール
$ gemini mcp add -s user -e 'APPLEDGER_KEY=<YOUR_APPLEDGER_KEY>' appledger uvx -- appledgerGemini settings.jsonにAppLedger MCPをインストール
~/.gemini/settings.json
{
"mcpServers": {
"appledger": {
"command": "uvx",
"args": [
"appledger"
],
"env": {
"APPLEDGER_KEY": "<YOUR_APPLEDGER_KEY>"
}
}
}
}設定
APPLEDGER_KEYシークレットOptional dashboard connection key (al_...). Without it, nothing goes to a dashboard; a hosted check returns a link that saves its result to a free account (the summary is kept up to 24 hours).
APPLEDGER_MODEhosted (default): files Git would commit are sent to appledger.net, scanned and deleted. local: Trivy and Opengrep run on this machine.
| 名前 | 説明 | 種類 |
|---|---|---|
| APPLEDGER_KEY | Optional dashboard connection key (al_...). Without it, nothing goes to a dashboard; a hosted check returns a link that saves its result to a free account (the summary is kept up to 24 hours). | シークレット |
| APPLEDGER_MODE | hosted (default): files Git would commit are sent to appledger.net, scanned and deleted. local: Trivy and Opengrep run on this machine. |
自動チェック
実行日 2026年11月14日完全なレポート →自動チェックに合格しました。これはセキュリティ監査ではありません。コードを読み、サーバーに必要最小限のアクセス権を与えてください。 チェックの仕組み
- ソースリポジトリがリンクされており、アクセス可能contentasoftware/appledger is public and reachablegithub.com/contentasoftware/appledger ↗合格
- パッケージがこのリポジトリをソースとして指定appledger names contentasoftware/appledger as sourcepypi.org/project/appledger/ ↗合格
- ビルドの来歴 (Sigstore 証明)Sigstore attestation for appledgerpypi.org/project/appledger/ ↗合格
- オープンソースライセンス (OSI)MITspdx.org/licenses/MIT.html ↗合格
- 過去1年以内にコミットまたはリリースありLast commit or release 2026-10-14github.com/contentasoftware/appledger ↗合格
- OpenSSF Scorecard未チェック
- パッケージ名が有名なパッケージに酷似していないNo popular package one edit away from appledger合格
- パッケージおよびその依存関係に重大な勧告なし32 resolved dependencies checked; no critical advisoryosv.dev ↗合格
- モデルへの隠れた指示がない0 tool descriptions and the README read; no override phrases, credential paths or hidden characters合格
- 破壊的なツールがラベル付けされている未チェック
- リモートエンドポイントが MCP ハンドシェイクに応答未チェック
README
GitHubで見るAppLedger honest check
Honest security feedback, in plain language, for apps people build with AI tools such as Claude Code, Codex, Cursor and Lovable.
AppLedger checks your app folder with independent scanners and explains what they find in everyday words: what is wrong, why it matters, and what to do. It also writes a fix request you can hand straight to the AI tool that built the app, then checks again.
What it checks
| Scanner | Finds |
|---|---|
| Trivy | Leaked passwords and keys, outdated libraries with known security problems, risky container setup |
| Opengrep | Dangerous code patterns: SQL injection, command injection, unsafe data loading, debug mode left on |
| SonarQube (optional, local mode) | Code quality and more security hotspots, if you already run a SonarQube server |
Each run produces, in <your-app>/.appledger/:
report.html: a score, who may use the app right now (only you, your team, the whole company), and every problem in plain wordsfix-prompt.md: a ready-made fix request for your coding agentfindings.json: the same findings for tools and dashboards
Two ways to run
| Mode | What you install | Where your code goes |
|---|---|---|
| Hosted (default) | Only this package | Source files Git would commit are zipped, sent over HTTPS to appledger.net, scanned and deleted right after. Secret files are never sent. You confirm before the first upload of each folder |
Local (--local or APPLEDGER_MODE=local) |
Also Trivy, Opengrep and the Opengrep rules | Stays on your computer. With a connection key, only a summary goes to your dashboard (see below); --no-dashboard skips even that |
What gets uploaded in hosted mode
- Sent: files Git would commit (
git ls-files, including new files that aren't ignored). Outside a Git repository,.gitignoreis still honoured. - Never sent:
.envand.env.*(except.env.example,.env.sample,.env.template),*.pem,*.key,*.p12,*.pfx, SSH keys,.npmrc,.pypirc,.netrc,*credentials*.json,service-account*.json,secrets.*, the folderscert,certs,secrets,.sshand.aws,.claude/settings.local.json, Terraform state, password files, Ansible Vault files, Kubernetes/Helm secret manifests, certificates and similar (full list insrc/appledger/uploadpolicy.py). The server drops such files again as a second safety net. - Skipped: dependencies, build output, media, documents and data files (CSV, spreadsheets, slides, SQL, logs, data dumps) and files over 1 MB.
If a secret file is committed to Git or not ignored, the check reports it as a problem by file name. Its content is never read or sent.
See exactly what would be sent, and what is left out and why, without uploading anything:
python -m appledger path/to/your-app --list-files
The first hosted check of a folder asks you to confirm. In scripts and scheduled runs, pass --yes. If the code belongs to your employer or a client, make sure you're allowed to upload it, or use local mode.
Install
Claude Code plugin (recommended: adds the guided check-my-app skill):
claude plugin marketplace add contentasoftware/appledger
claude plugin install appledger@appledger
In the Claude Code desktop app, add the marketplace contentasoftware/appledger in the plugin settings instead. Start a new session, then ask: "Is my app safe to share?" or "Add this app to AppLedger".
MCP server only (needs uv):
claude mcp add appledger -- uvx --from appledger appledger-mcp
Command line:
pip install appledger
python -m appledger path/to/your-app
Step-by-step guide with troubleshooting: https://appledger.net/docs/
Version 0.2.0 (upload preview, consent, secret-file exclusion, scheduling) is being released to PyPI; until then pip install appledger gets 0.1.x.
Company dashboard
Create a free account at appledger.net to keep every app your people check in one ledger: owner, grade, score trend, who may use it and which AI tool built it. Create a connection key under "Connect a computer", then save it on each computer:
python -m appledger --connect al_your_key
Or tell Claude: "Connect AppLedger with this key: al_…". The key is saved in ~/.appledger/key; APPLEDGER_KEY overrides it and --disconnect removes it.
From then on each check also saves a summary to your dashboard: the app's name, score, grade, problem counts, the list of problems found (level and short title, up to 60; never code or file paths), and the scanners used. Never the code.
Not connected yet? From 0.2.3, a hosted check from a computer without a key ends with a save link, also shown in report.html:
Save this result to a free AppLedger ledger (link works for 24 hours): https://appledger.net/app/claim.php?t=...
Open it, create a free account or log in, and the check is in your ledger; the page then offers a key for that computer. Until the link is used, the service keeps only the check's summary (app name, score, the problems' levels and titles; never code), for up to 24 hours. A link works once; --no-dashboard turns it off.
You can also add an app in the web app with Add app: register it without code, or upload a zip to check it in the browser (the zip is scanned and deleted the same way).
Scheduled checks
python -m appledger path/to/your-app --schedule weekly --yes # or daily
python -m appledger --schedules # list
python -m appledger path/to/your-app --schedule off # stop
Uses Windows Task Scheduler on Windows and cron on macOS and Linux. Hosted scheduled checks need the one-time --yes consent; add --local to schedule local checks instead. --quiet prints one line per check.
Local mode setup
- Trivy:
winget install AquaSecurity.Trivy(Windows) orbrew install trivy(Mac) - Opengrep: download from the releases page and put it on your PATH
- Rules:
git clone --depth 1 https://github.com/opengrep/opengrep-rules.git ~/.appledger/opengrep-rules - Check:
python -m appledger --doctor
Repository layout
| Path | What |
|---|---|
src/appledger/scanner.py |
Scanners, plain-language translation, report and fix request |
src/appledger/client.py |
Picks the files to send (honouring .gitignore) and sends them to the hosted service |
src/appledger/uploadpolicy.py |
The full list of secret files that are never uploaded, used by client and server |
src/appledger/service.py |
Server side: unpacks an upload safely and scans it |
src/appledger/server.py |
Local MCP server used by the plugin |
plugin/ |
Claude Code / Codex plugin with the check-my-app skill |
tests/mcp_smoke.py |
Calls every MCP tool like an agent would |
License
MIT. The Opengrep community rules used by the scanner have their own license (Commons Clause); check it before using them in a paid service.
AppLedger MCPのよくある質問
AppLedger MCPをClaude Codeに追加するには
ターミナルでclaude mcp add --env 'APPLEDGER_KEY=<YOUR_APPLEDGER_KEY>' appledger -- uvx appledgerを実行します。すべてのプロジェクトで利用するには--scope userを追加します。
AppLedger MCPをCursorに追加するには
~/.cursor/mcp.jsonを開き、上記のインストールセクションに示すCursor設定を使ってmcpServersの下にサーバーを追加します。
検出結果をどのようにコードの修正に利用できますか?
このツールは fix-prompt.md ファイルを生成します。これは、AIコーディングエージェントにそのまま渡すことができる、すぐに利用可能な修正リクエストです。