{"_id":"@duzzle/shanone-mcp","_rev":"4-8b76e59edfe2fe5b768388ea22772baf","name":"@duzzle/shanone-mcp","dist-tags":{"latest":"0.6.0"},"versions":{"0.3.0":{"name":"@duzzle/shanone-mcp","version":"0.3.0","keywords":["mcp","model-context-protocol","shanone","ai","cursor","claude","windsurf","automation"],"author":{"name":"Duzzle","email":"support@duzzle.ai"},"license":"MIT","_id":"@duzzle/shanone-mcp@0.3.0","maintainers":[{"name":"duzzle-dev","email":"hey@duzzle.dev"},{"name":"ogin0pan","email":"sodeyu@duzzle.dev"}],"homepage":"https://github.com/Duzzle-development/shanone-official/tree/main/mcp-server-node#readme","bugs":{"url":"https://github.com/Duzzle-development/shanone-official/issues"},"bin":{"shanone-mcp":"dist/index.js"},"dist":{"shasum":"2e98fec370b094ac4eb1d6284642c3390f41308c","tarball":"https://registry.npmjs.org/@duzzle/shanone-mcp/-/shanone-mcp-0.3.0.tgz","fileCount":14,"integrity":"sha512-5xMEBZqMIapKtT2KR60dyBGklmExO6mZgaEO/PpGY0jr5/OGMfZOQSOAuPvei54S/Y/saaf/XqQdzxGAPGGykw==","signatures":[{"sig":"MEUCIQC00GqCwRQdGNoCOgfNrCmixAI/17ZLjVqb5q+4b9MNPwIgflhaxuPzKPqO6AE1+rfEmUNqce3fq/4lDu8GZfgAhc0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59913},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"69c5d209c86c7208e8e26cffadaa82df53d86907","scripts":{"dev":"ts-node src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"ogin0pan","email":"sodeyu@duzzle.dev"},"repository":{"url":"git+https://github.com/Duzzle-development/shanone-official.git","type":"git","directory":"mcp-server-node"},"_npmVersion":"9.2.0","description":"Shanone MCP Server - Connect Cursor, Claude Desktop, Windsurf, and other MCP clients to Shanone","directories":{},"_nodeVersion":"18.19.1","dependencies":{"find-process":"^1.4.7","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/find-process":"^1.2.2"},"_npmOperationalInternal":{"tmp":"tmp/shanone-mcp_0.3.0_1784765138889_0.890689871775697","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@duzzle/shanone-mcp","version":"0.4.0","keywords":["mcp","model-context-protocol","shanone","ai","cursor","claude","windsurf","automation"],"author":{"name":"Duzzle","email":"support@duzzle.ai"},"license":"MIT","_id":"@duzzle/shanone-mcp@0.4.0","maintainers":[{"name":"duzzle-dev","email":"hey@duzzle.dev"},{"name":"ogin0pan","email":"sodeyu@duzzle.dev"}],"homepage":"https://github.com/Duzzle-development/emma-official/tree/main/mcp-server-node#readme","bugs":{"url":"https://github.com/Duzzle-development/emma-official/issues"},"bin":{"shanone-mcp":"dist/index.js"},"dist":{"shasum":"451820d7ad57ee420dc5bc829acb8bbf5a971a57","tarball":"https://registry.npmjs.org/@duzzle/shanone-mcp/-/shanone-mcp-0.4.0.tgz","fileCount":10,"integrity":"sha512-5SxY7ek6WQNYs436dr5ixt8x+oMg2qTPQ6yee6eLOiFt30BNb4eawAFbctQdzmPZSYCtnCzZf3HIWlb5jl4tXw==","signatures":[{"sig":"MEYCIQDNQgZywazMrp/+nrdeyBOdRAhh6I3V2QjNkCn9qihGEAIhAN41s4lAAkz5D2aj34ICLSNvOvys1zelOwmwE4aREmYU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101487},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"49f19a84bc0fa9a4890f683c0e8e8c3158c9be9d","scripts":{"dev":"ts-node src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"duzzle-dev","email":"hey@duzzle.dev"},"repository":{"url":"git+https://github.com/Duzzle-development/emma-official.git","type":"git","directory":"mcp-server-node"},"_npmVersion":"11.11.0","description":"shanone MCP Server - Connect Cursor, Claude Desktop, Windsurf, and other MCP clients to shanone","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shanone-mcp_0.4.0_1785651712877_0.2317075899707275","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@duzzle/shanone-mcp","version":"0.5.0","keywords":["mcp","model-context-protocol","shanone","ai","cursor","claude","windsurf","automation"],"author":{"name":"Duzzle","email":"support@duzzle.ai"},"license":"MIT","_id":"@duzzle/shanone-mcp@0.5.0","maintainers":[{"name":"duzzle-dev","email":"hey@duzzle.dev"},{"name":"ogin0pan","email":"sodeyu@duzzle.dev"}],"homepage":"https://github.com/Duzzle-development/shanone-official/tree/main/apps/mcp-server-node#readme","bugs":{"url":"https://github.com/Duzzle-development/shanone-official/issues"},"bin":{"shanone-mcp":"dist/index.js"},"dist":{"shasum":"4d82d8fa565a478f5252e54f63f86d07005f2cf0","tarball":"https://registry.npmjs.org/@duzzle/shanone-mcp/-/shanone-mcp-0.5.0.tgz","fileCount":14,"integrity":"sha512-RQILR5jaxoioSWjHYUhrL3jDQFOJl+GFxM2npKOc95/7IkZV2tB8nf/p1fXWkwQY8YSEyjj/g+7fsZ0VoMYD0w==","signatures":[{"sig":"MEYCIQDK/ZRgo5KSIoDwwDJWwZMaRwJzCANZcSuIoWPAL40NVQIhANv5ssfSLFz/WacaCru+WrIcE9sTxP+Jnd2bVUavEfaa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136163},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"a85b662d9053b8221c1341ccddc8e953977a9915","scripts":{"dev":"ts-node src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"ogin0pan","email":"sodeyu@duzzle.dev"},"repository":{"url":"git+https://github.com/Duzzle-development/shanone-official.git","type":"git","directory":"apps/mcp-server-node"},"_npmVersion":"9.2.0","description":"Shanone MCP Server - Connect Cursor, Claude Desktop, Windsurf, and other MCP clients to Shanone","directories":{},"_nodeVersion":"18.19.1","dependencies":{"find-process":"^1.4.7","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/find-process":"^1.2.2"},"_npmOperationalInternal":{"tmp":"tmp/shanone-mcp_0.5.0_1786814646051_0.04662172136934273","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@duzzle/shanone-mcp","version":"0.6.0","description":"Stdio bridge to the Shanone remote MCP server","main":"dist/index.js","bin":{"shanone-mcp":"dist/index.js"},"scripts":{"build":"rm -rf dist && tsc","start":"node dist/index.js","test":"node --test tests/bridge.cjs tests/release.cjs","verify:package":"node tests/verify-package.cjs","prepack":"npm run build"},"keywords":["mcp","model-context-protocol","shanone","ai","cursor","claude","windsurf","automation"],"author":{"name":"Duzzle","email":"support@duzzle.ai"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Duzzle-development/shanone-official.git","directory":"apps/mcp-server-node"},"homepage":"https://github.com/Duzzle-development/shanone-official/tree/phase-3-infra/apps/mcp-server-node#readme","bugs":{"url":"https://github.com/Duzzle-development/shanone-official/issues"},"publishConfig":{"access":"public","provenance":false},"dependencies":{"@modelcontextprotocol/sdk":"1.29.0"},"devDependencies":{"@types/node":"^24.0.0","typescript":"^5.0.0"},"engines":{"node":">=24.0.0"},"types":"./dist/index.d.ts","_id":"@duzzle/shanone-mcp@0.6.0","_integrity":"sha512-DgAyVl1cZHRXmXq2pTqPmHRAwFn+4tfwS7rBL7J0q1jLbUDfMb0hP9HldbB2BU2F1goH38PnWB8HKwFLwiduzQ==","_resolved":"/home/runner/work/shanone-official/shanone-official/package/duzzle-shanone-mcp-0.6.0.tgz","_from":"file:duzzle-shanone-mcp-0.6.0.tgz","_nodeVersion":"24.20.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-DgAyVl1cZHRXmXq2pTqPmHRAwFn+4tfwS7rBL7J0q1jLbUDfMb0hP9HldbB2BU2F1goH38PnWB8HKwFLwiduzQ==","shasum":"b640926f5aa61d43ce0eb1eb897b861bedca6f28","tarball":"https://registry.npmjs.org/@duzzle/shanone-mcp/-/shanone-mcp-0.6.0.tgz","fileCount":6,"unpackedSize":14646,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDKc9Gotw4onmGoVa4ir1gm+mo6fstlJBmAUX7h3wW+8AIgWX2HjnGPOBJecAl9hnjjt2ThPvHUrlSlkt9b0lcvjM8="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1e898ba1-3040-401d-80c8-17b94f39e664"}},"directories":{},"maintainers":[{"name":"duzzle-dev","email":"hey@duzzle.dev"},{"name":"ogin0pan","email":"sodeyu@duzzle.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/shanone-mcp_0.6.0_1789607377536_0.3271214003783276"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-23T00:05:38.699Z","modified":"2026-09-17T01:09:37.836Z","0.3.0":"2026-07-23T00:05:39.041Z","0.4.0":"2026-08-02T06:21:53.032Z","0.5.0":"2026-08-15T17:24:06.187Z","0.6.0":"2026-09-17T01:09:37.679Z"},"bugs":{"url":"https://github.com/Duzzle-development/shanone-official/issues"},"author":{"name":"Duzzle","email":"support@duzzle.ai"},"license":"MIT","homepage":"https://github.com/Duzzle-development/shanone-official/tree/phase-3-infra/apps/mcp-server-node#readme","keywords":["mcp","model-context-protocol","shanone","ai","cursor","claude","windsurf","automation"],"repository":{"type":"git","url":"git+https://github.com/Duzzle-development/shanone-official.git","directory":"apps/mcp-server-node"},"description":"Stdio bridge to the Shanone remote MCP server","maintainers":[{"name":"duzzle-dev","email":"hey@duzzle.dev"},{"name":"ogin0pan","email":"sodeyu@duzzle.dev"}],"readme":"# Shanone MCP bridge (Node.js)\n\nCursor、Claude Desktop などの stdio MCP クライアントを Shanone のリモート MCP サーバーへ接続します。Node.js 24 以上が必要です。\n\n## 設定\n\n```json\n{\n  \"mcpServers\": {\n    \"shanone\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@duzzle/shanone-mcp@0.6.0\"],\n      \"env\": {\n        \"SHANONE_API_KEY\": \"sh_xxx\",\n        \"SHANONE_ORG_ID\": \"your-organization-id\"\n      }\n    }\n  }\n}\n```\n\n| 環境変数 | 説明 |\n| --- | --- |\n| `SHANONE_API_KEY` | 必須。Shanone の API キー。 |\n| `SHANONE_ORG_ID` | 必須。操作対象の組織 ID。サーバーがキーの組織所属と権限を検証します。 |\n| `SHANONE_MCP_URL` | 既定値 `https://mcp.shanone.ai/mcp`。開発環境は `https://dev-akaso-mcp.shanone.ai/mcp`。この 2 つの HTTPS 接続先だけを許可します。 |\n| `SHANONE_MCP_TIMEOUT_MS` | 応答待ちの上限。既定 120000 ms、1000〜600000 ms。 |\n\nAPI キーと組織 ID は HTTP ヘッダーに送信します。HTTP リダイレクトには追従しません。\n\n## ツールと実行結果\n\nツール一覧、入力スキーマ、説明、結果はリモート MCP サーバーが提供します。`tools/list` で現在の定義を取得してください。このパッケージにはサービス別のツール定義や認証・実行ルールを持たせていません。サーバーに追加されたツールもそのまま利用できます。\n\n`shanone_execute_tool` の `arguments` は、現在のリモート定義では **JSON 文字列**です。必要な `operation_id` はリモートの定義・応答に従って渡します。bridge が操作 ID を生成・変更することはありません。\n\nHTTP エラー、タイムアウト、応答消失でも、自動でツール呼び出しを再送しません。更新処理は外部サービスで完了している可能性があるため、元の `operation_id` で状態を確認してください。新しい ID を作って再実行すると別の操作になります。リモートから返された操作 ID、エラー情報、構造化結果はそのまま呼出元へ渡します。\n\n対応する MCP 機能はツール一覧・呼び出し、一覧変更通知、進捗通知、キャンセルです。キャンセルは処理停止の要求であり、完了済みの外部操作を取り消す保証ではありません。\n\n## 0.5 系からの変更\n\n0.6.0 では独自の REST クライアントを廃止しました。`SHANONE_API_URL` は使いません。`SHANONE_ORG_ID` を設定し、必要なら `SHANONE_MCP_URL` を指定してください。ローカルのツール定義に依存せず、接続先の `tools/list` を取得してください。\n\n## 開発と公開\n\n```bash\nnpm ci --ignore-scripts\nnpm run build\nnpm test\nnpm run verify:package\n```\n\n試験は偽の接続先を使用し、外部サービスへの操作は行いません。配布物検査では tarball を一時ディレクトリへインストールし、stdio 接続と終了処理を確認します。\n\n公開 workflow は `.github/workflows/publish-mcp.yml` です。`phase-3-infra` の履歴にあるコミットへ `shanone-mcp-v0.6.0` タグを付けて push すると、バージョン照合・同じ SHA の試験・配布物検査の成功後に npm へ公開します。通常のブランチ push では npm 公開しません。\n\nnpm 側で `@duzzle/shanone-mcp` の Trusted Publisher を、このリポジトリと `publish-mcp.yml` に登録する必要があります。公開は GitHub Actions OIDC のみを使い、npm トークンへの切替はありません。このリポジトリは private のため provenance は無効です。\n\n## ライセンス\n\nMIT\n","readmeFilename":"README.md"}