{"_id":"@igniter-js/adapter-mcp-server","_rev":"26-203adcfdb2bd1f0b42d288e0c639fe48","name":"@igniter-js/adapter-mcp-server","dist-tags":{"alpha":"0.3.0-alpha.16","latest":"0.3.7"},"versions":{"0.1.0-alpha.0":{"name":"@igniter-js/adapter-mcp-server","version":"0.1.0-alpha.0","license":"MIT","_id":"@igniter-js/adapter-mcp-server@0.1.0-alpha.0","maintainers":[{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"}],"dist":{"shasum":"a71c22dc6d16e2ccf397d26b4a1fbc3b7e8d523b","tarball":"https://registry.npmjs.org/@igniter-js/adapter-mcp-server/-/adapter-mcp-server-0.1.0-alpha.0.tgz","fileCount":5,"integrity":"sha512-Z7eoxwcYdPXCY9M3LDPsMzzMd8puWuSPVp2GwFQpnRFg6FqkySCrktHhEZ3pD6rMvrfHAWFlfmSq7oCH/5gW5w==","signatures":[{"sig":"MEUCIQCXr6WVC+QGoiSe53kqHsC70yZGQW8xMunZj/tPDfnKLwIgWMSC5U/j1MWFleOp6W0aKMTa/qGMMRg33f6UaRtCiUM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30851},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"60b8763d7d95f136e2f1e2c2b547b2df2a591add","scripts":{"dev":"tsup src/index.ts --dts --format esm,cjs --out-dir dist --watch","build":"tsup src/index.ts --dts --format esm,cjs --out-dir dist"},"_npmUser":{"name":"felipebarcelospro","actor":{"name":"felipebarcelospro","type":"user","email":"felipebarcelospro@gmail.com"},"email":"felipebarcelospro@gmail.com"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"devDependencies":{"@igniter-js/core":"*","@vercel/mcp-adapter":"^0.2.0","@modelcontextprotocol/sdk":"^1.10.2"},"peerDependencies":{"@igniter-js/core":"*","@vercel/mcp-adapter":"^0.2.0","@modelcontextprotocol/sdk":"^1.10.2"},"_npmOperationalInternal":{"tmp":"tmp/adapter-mcp-server_0.1.0-alpha.0_1751297612766_0.5846232334403709","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.2":{"name":"@igniter-js/adapter-mcp-server","version":"0.1.0-alpha.2","license":"MIT","_id":"@igniter-js/adapter-mcp-server@0.1.0-alpha.2","maintainers":[{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"}],"dist":{"shasum":"7047f98b81fd56fc3a2856215bc11218020348e9","tarball":"https://registry.npmjs.org/@igniter-js/adapter-mcp-server/-/adapter-mcp-server-0.1.0-alpha.2.tgz","fileCount":5,"integrity":"sha512-O+fYH6U02P5Nnuq9cKHj+Vdugw39gO0JK+f0/fUqXSqb6oP3aXlTFBMgwfOMWi7p16+x43egiUmauoO9FXVqqA==","signatures":[{"sig":"MEQCIF6DPHas3Gx0QWGukg7ATDKIltM9IasS7GhCV2od919QAiBGJaudb26co8RxRimvPF6H9bhWTJAYmG7r1DiPw9JfQA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31448},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"0e4e8975f4d42289610aedc820dbfe13bb64092a","private":false,"scripts":{"dev":"tsup src/index.ts --dts --format esm,cjs --out-dir dist --watch","build":"tsup src/index.ts --dts --format esm,cjs --out-dir dist"},"_npmUser":{"name":"felipebarcelospro","actor":{"name":"felipebarcelospro","type":"user","email":"felipebarcelospro@gmail.com"},"email":"felipebarcelospro@gmail.com"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"devDependencies":{"@igniter-js/core":"*","@vercel/mcp-adapter":"^0.2.0","@modelcontextprotocol/sdk":"^1.10.2"},"peerDependencies":{"@igniter-js/core":"*","@vercel/mcp-adapter":"^0.2.0","@modelcontextprotocol/sdk":"^1.10.2"},"_npmOperationalInternal":{"tmp":"tmp/adapter-mcp-server_0.1.0-alpha.2_1751922858089_0.4356167268230977","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@igniter-js/adapter-mcp-server","version":"0.2.1","license":"MIT","_id":"@igniter-js/adapter-mcp-server@0.2.1","maintainers":[{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"}],"dist":{"shasum":"ff00c924cc448e367d4c37dcb9c18734b605566c","tarball":"https://registry.npmjs.org/@igniter-js/adapter-mcp-server/-/adapter-mcp-server-0.2.1.tgz","fileCount":6,"integrity":"sha512-ER0NevJ8cyoMynFYQ63noTde3CuSwCE56mCFP1CNSXoS5jnQTKI/lr5d88pbe4e5Djr4V5DNINEnfHfVojQrDw==","signatures":[{"sig":"MEUCIQDKaMVgt5i4++sWxBWFfgWhSWk0Kt/LmpxmfDDSFDNYXAIgCpRBXXyOYZKoWJqMBELQ+nWPyUFXKWvvtuvqHlgk9fw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34990},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"4b79233f70f29da0c4859444b525436b6fc5bd5a","private":false,"scripts":{"dev":"tsup src/index.ts --dts --format esm,cjs --out-dir dist --watch","build":"tsup src/index.ts --dts --format esm,cjs --out-dir dist"},"_npmUser":{"name":"felipebarcelospro","actor":{"name":"felipebarcelospro","type":"user","email":"felipebarcelospro@gmail.com"},"email":"felipebarcelospro@gmail.com"},"_npmVersion":"10.9.2","description":"[![NPM Version](https://img.shields.io/npm/v/@igniter-js/adapter-mcp-server.svg)](https://www.npmjs.com/package/@igniter-js/adapter-mcp-server) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)","directories":{},"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"devDependencies":{"@igniter-js/core":"*","@vercel/mcp-adapter":"^0.2.0","@modelcontextprotocol/sdk":"^1.10.2"},"peerDependencies":{"@igniter-js/core":"*","@vercel/mcp-adapter":"^0.2.0","@modelcontextprotocol/sdk":"^1.10.2"},"_npmOperationalInternal":{"tmp":"tmp/adapter-mcp-server_0.2.1_1752082357622_0.9714366368428848","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-alpha.1":{"name":"@igniter-js/adapter-mcp-server","version":"0.3.0-alpha.1","license":"MIT","_id":"@igniter-js/adapter-mcp-server@0.3.0-alpha.1","maintainers":[{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"}],"dist":{"shasum":"a67a67e8bf21f42c524ae624822d74c2a4cb881f","tarball":"https://registry.npmjs.org/@igniter-js/adapter-mcp-server/-/adapter-mcp-server-0.3.0-alpha.1.tgz","fileCount":6,"integrity":"sha512-TRwTDmQtPc3RO9y8l5Pj5XgeaUzHYfJNpxG8UQiRCL1xUmZ0vPu52b6wZ5YqI5xqqOmoQ+QkwkNEuymUS99dIg==","signatures":[{"sig":"MEUCIGzXQSh5SNrsF0A+4N/1YtHu524F1nXwvgOrSr9cNAXFAiEAz/gmNdHheRNTj1Eu39QlgRsCKVH6NmIJE1XmPvNe4os=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52377},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"38c1bd12a1be069e309608be3c99d47b8f6b71fc","private":false,"scripts":{"dev":"tsup src/index.ts --dts --format esm,cjs --out-dir dist --watch","build":"tsup src/index.ts --dts --format esm,cjs --out-dir dist"},"_npmUser":{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"},"_npmVersion":"10.9.3","description":"[![NPM Version](https://img.shields.io/npm/v/@igniter-js/adapter-mcp-server.svg)](https://www.npmjs.com/package/@igniter-js/adapter-mcp-server) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@igniter-js/core":"*","@vercel/mcp-adapter":"^0.2.0","@modelcontextprotocol/sdk":"^1.10.2"},"peerDependencies":{"@igniter-js/core":"*","@vercel/mcp-adapter":"^0.2.0","@modelcontextprotocol/sdk":"^1.10.2"},"_npmOperationalInternal":{"tmp":"tmp/adapter-mcp-server_0.3.0-alpha.1_1760491391152_0.8870067720994885","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-alpha.2":{"name":"@igniter-js/adapter-mcp-server","version":"0.3.0-alpha.2","license":"MIT","_id":"@igniter-js/adapter-mcp-server@0.3.0-alpha.2","maintainers":[{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"}],"dist":{"shasum":"c62b1f12ccd9c4bd622b765428509b18afc95641","tarball":"https://registry.npmjs.org/@igniter-js/adapter-mcp-server/-/adapter-mcp-server-0.3.0-alpha.2.tgz","fileCount":6,"integrity":"sha512-BnC/0eKBz6mrTB2/BDB1SQA6G5MNPCoi5JQ+JWUYTrDFgcOuIj5eyNc5wvvACBWW7s1JocKmBkYgXBHnBxgs0Q==","signatures":[{"sig":"MEUCIQDYWOLu+Zvchtr2IR4Z7K7SEM/xQ4zdzmeE24IjaeLgSgIgTUxmp9ATleW5T9hoPT6tbRZsssKTnwvcoht8FlBl+Qo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52189},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"38c1bd12a1be069e309608be3c99d47b8f6b71fc","private":false,"scripts":{"dev":"tsup src/index.ts --dts --format esm,cjs --out-dir dist --watch","build":"tsup src/index.ts --dts --format esm,cjs --out-dir dist"},"_npmUser":{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"},"_npmVersion":"10.9.3","description":"[![NPM Version](https://img.shields.io/npm/v/@igniter-js/adapter-mcp-server.svg)](https://www.npmjs.com/package/@igniter-js/adapter-mcp-server) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^4.1.12","@vercel/mcp-adapter":"^0.2.0","@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@igniter-js/core":"*","@vercel/mcp-adapter":"^0.2.0","@modelcontextprotocol/sdk":"^1.20.0"},"peerDependencies":{"@igniter-js/core":"*"},"_npmOperationalInternal":{"tmp":"tmp/adapter-mcp-server_0.3.0-alpha.2_1760497650681_0.758088165134363","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-alpha.3":{"name":"@igniter-js/adapter-mcp-server","version":"0.3.0-alpha.3","license":"MIT","_id":"@igniter-js/adapter-mcp-server@0.3.0-alpha.3","maintainers":[{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"}],"dist":{"shasum":"562e79214440869ea16ae0d5082c5f2e5d330db4","tarball":"https://registry.npmjs.org/@igniter-js/adapter-mcp-server/-/adapter-mcp-server-0.3.0-alpha.3.tgz","fileCount":6,"integrity":"sha512-eCHJUewqzqXV+/rQAD3AeyOkrubouHgP3fyRIn6IkXH9WoTRHeEXGSzCGzaMDRVbcCfuy89FkqHM6LQj6mOkqg==","signatures":[{"sig":"MEYCIQDkni09w2De1w7E8wScicWuUGxYuzWthxtOXYueM81VZwIhALtZnAXyt0f/VrCCeqg6rwKXuViGPDCuM0VoL076Vh84","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52357},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"38c1bd12a1be069e309608be3c99d47b8f6b71fc","private":false,"scripts":{"dev":"tsup src/index.ts --dts --format esm,cjs --out-dir dist --watch","build":"tsup src/index.ts --dts --format esm,cjs --out-dir dist"},"_npmUser":{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"},"_npmVersion":"10.9.3","description":"[![NPM Version](https://img.shields.io/npm/v/@igniter-js/adapter-mcp-server.svg)](https://www.npmjs.com/package/@igniter-js/adapter-mcp-server) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^4.1.12","@vercel/mcp-adapter":"^0.2.0","@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@igniter-js/core":"*","@vercel/mcp-adapter":"^0.2.0","@modelcontextprotocol/sdk":"^1.20.0"},"peerDependencies":{"@igniter-js/core":"*"},"_npmOperationalInternal":{"tmp":"tmp/adapter-mcp-server_0.3.0-alpha.3_1760498296916_0.8926736050369517","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-alpha.6":{"name":"@igniter-js/adapter-mcp-server","version":"0.3.0-alpha.6","license":"MIT","_id":"@igniter-js/adapter-mcp-server@0.3.0-alpha.6","maintainers":[{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"}],"dist":{"shasum":"419ba7eb8282ebc3ec42656d4c0c5fb1ae897c33","tarball":"https://registry.npmjs.org/@igniter-js/adapter-mcp-server/-/adapter-mcp-server-0.3.0-alpha.6.tgz","fileCount":6,"integrity":"sha512-BdIi5pKrjWf0KydSeg2uvTAtqjR4CEbU2abDYNsjQ2PJ8NMP1xSUhuiRzWz957yUQGmJUu4nWioy561+tzHa8Q==","signatures":[{"sig":"MEYCIQCG4y5MxjtdkzQr2J90hbXyA372EIQ2/B/zPXH6rT2EwAIhAPtHgAS3aJitTkgXohRaEuQr5hEBt3RcXC4z9fFAQxEw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55499},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"38c1bd12a1be069e309608be3c99d47b8f6b71fc","private":false,"scripts":{"dev":"tsup src/index.ts --dts --format esm,cjs --out-dir dist --watch","build":"tsup src/index.ts --dts --format esm,cjs --out-dir dist"},"_npmUser":{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"},"_npmVersion":"10.9.3","description":"[![NPM Version](https://img.shields.io/npm/v/@igniter-js/adapter-mcp-server.svg)](https://www.npmjs.com/package/@igniter-js/adapter-mcp-server) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^4.1.12","mcp-handler":"^1.0.3","@modelcontextprotocol/sdk":"1.17.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@igniter-js/core":"*"},"peerDependencies":{"@igniter-js/core":"*"},"_npmOperationalInternal":{"tmp":"tmp/adapter-mcp-server_0.3.0-alpha.6_1760568786083_0.06751822367027738","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-alpha.7":{"name":"@igniter-js/adapter-mcp-server","version":"0.3.0-alpha.7","license":"MIT","_id":"@igniter-js/adapter-mcp-server@0.3.0-alpha.7","maintainers":[{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"}],"dist":{"shasum":"c577cad66f7c3fdd246c9fc3a3a9635b7bf85d7d","tarball":"https://registry.npmjs.org/@igniter-js/adapter-mcp-server/-/adapter-mcp-server-0.3.0-alpha.7.tgz","fileCount":6,"integrity":"sha512-57G9DM1ENt3X28guZzsVnhUjBso49x8l7jUJ+t7If3QykrLcBJZwrIvFxArk8By8+T1hH4/L6AnrA72XrqFu6Q==","signatures":[{"sig":"MEUCIQDPL1ly2SdraGlNU6XbXG5aqHfwr+PGVMimSdyAcWFOjgIgHYtX3oNwWI+Gv79IXRBQ9zq3KBdWxu9951LnRjicTEk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56649},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"38c1bd12a1be069e309608be3c99d47b8f6b71fc","private":false,"scripts":{"dev":"tsup src/index.ts --dts --format esm,cjs --out-dir dist --watch","build":"tsup src/index.ts --dts --format esm,cjs --out-dir dist"},"_npmUser":{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"},"_npmVersion":"10.9.3","description":"[![NPM Version](https://img.shields.io/npm/v/@igniter-js/adapter-mcp-server.svg)](https://www.npmjs.com/package/@igniter-js/adapter-mcp-server) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^4.1.12","mcp-handler":"^1.0.3","@modelcontextprotocol/sdk":"1.17.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@igniter-js/core":"*"},"peerDependencies":{"@igniter-js/core":"*"},"_npmOperationalInternal":{"tmp":"tmp/adapter-mcp-server_0.3.0-alpha.7_1760571031334_0.2538320179092164","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-alpha.8":{"name":"@igniter-js/adapter-mcp-server","version":"0.3.0-alpha.8","license":"MIT","_id":"@igniter-js/adapter-mcp-server@0.3.0-alpha.8","maintainers":[{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"}],"dist":{"shasum":"dd7333bbba87bc4ae44620fc440190b1d0fc7b87","tarball":"https://registry.npmjs.org/@igniter-js/adapter-mcp-server/-/adapter-mcp-server-0.3.0-alpha.8.tgz","fileCount":6,"integrity":"sha512-M2BOsnDPbrmzd751XS8niktRMOjVrv4F0Aey/Phg5BeyNs9KSamcoOtjAu/YESP0zHKHw4aCZjGn5hKG6Ex2Pg==","signatures":[{"sig":"MEQCICoP2nm/XbqwUt39XSytKs8CsZgET7nMmYIrCMy+AHy8AiA0fuPAP5999FEjE/lizDetTYidu6PpXkcVorWQ+pnoUg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56839},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"38c1bd12a1be069e309608be3c99d47b8f6b71fc","private":false,"scripts":{"dev":"tsup src/index.ts --dts --format esm,cjs --out-dir dist --watch","build":"tsup src/index.ts --dts --format esm,cjs --out-dir dist"},"_npmUser":{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"},"_npmVersion":"10.9.3","description":"[![NPM Version](https://img.shields.io/npm/v/@igniter-js/adapter-mcp-server.svg)](https://www.npmjs.com/package/@igniter-js/adapter-mcp-server) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^4.1.12","mcp-handler":"^1.0.3","@modelcontextprotocol/sdk":"1.17.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@igniter-js/core":"*"},"peerDependencies":{"@igniter-js/core":"*"},"_npmOperationalInternal":{"tmp":"tmp/adapter-mcp-server_0.3.0-alpha.8_1760571662167_0.3403416047789585","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-alpha.9":{"name":"@igniter-js/adapter-mcp-server","version":"0.3.0-alpha.9","license":"MIT","_id":"@igniter-js/adapter-mcp-server@0.3.0-alpha.9","maintainers":[{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"}],"dist":{"shasum":"7d5d02bae5eb91fe47510fc41964fb3b34056277","tarball":"https://registry.npmjs.org/@igniter-js/adapter-mcp-server/-/adapter-mcp-server-0.3.0-alpha.9.tgz","fileCount":6,"integrity":"sha512-pchrZlGCNuhgntckWbnfKVBaZ7g1zgiBSJRXqQJK1RFlggePUQ7oBA4BOulmLlHoAVnABEzRqz5DlhtKnmDQ2A==","signatures":[{"sig":"MEUCIQDzddKJXgNg9W74i0cCUX4VZdfHgMF9YCtOFRFpW1xOJwIgQXOg9hb1EipWyDhlKk9jt1d1SEFi58+jkAiYDio0hfQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57208},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"38c1bd12a1be069e309608be3c99d47b8f6b71fc","private":false,"scripts":{"dev":"tsup src/index.ts --dts --format esm,cjs --out-dir dist --watch","build":"tsup src/index.ts --dts --format esm,cjs --out-dir dist"},"_npmUser":{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"},"_npmVersion":"10.9.3","description":"[![NPM Version](https://img.shields.io/npm/v/@igniter-js/adapter-mcp-server.svg)](https://www.npmjs.com/package/@igniter-js/adapter-mcp-server) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3","mcp-handler":"^1.0.3","@modelcontextprotocol/sdk":"1.17.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@igniter-js/core":"*"},"peerDependencies":{"@igniter-js/core":"*"},"_npmOperationalInternal":{"tmp":"tmp/adapter-mcp-server_0.3.0-alpha.9_1760574480701_0.180175176386846","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-alpha.10":{"name":"@igniter-js/adapter-mcp-server","version":"0.3.0-alpha.10","license":"MIT","_id":"@igniter-js/adapter-mcp-server@0.3.0-alpha.10","maintainers":[{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"}],"dist":{"shasum":"b3baf58d6aed4d2fccaa1d4090dbe67f8213b923","tarball":"https://registry.npmjs.org/@igniter-js/adapter-mcp-server/-/adapter-mcp-server-0.3.0-alpha.10.tgz","fileCount":6,"integrity":"sha512-oOtbf6B615AtkwcHYf+swFq0nmwcIh7GezbCqomHCuolRbeMLs3gHGL6RxEeyWaBklmxyFNJ5wdNN6KTAHv+yg==","signatures":[{"sig":"MEUCIQCXmeTnxJmomSC/SDw7tksI9uGY6Pep8wjFNDjzPFkqngIgI7bmCA3kmMp/ckm+yGjr6jH8MB9TjIoDLB0WVNFPZ5o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62606},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"38c1bd12a1be069e309608be3c99d47b8f6b71fc","private":false,"scripts":{"dev":"tsup src/index.ts --dts --format esm,cjs --out-dir dist --watch","build":"tsup src/index.ts --dts --format esm,cjs --out-dir dist"},"_npmUser":{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"},"_npmVersion":"10.9.3","description":"[![NPM Version](https://img.shields.io/npm/v/@igniter-js/adapter-mcp-server.svg)](https://www.npmjs.com/package/@igniter-js/adapter-mcp-server) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3","mcp-handler":"^1.0.3","@modelcontextprotocol/sdk":"1.17.2"},"_hasShrinkwrap":false,"devDependencies":{"@igniter-js/core":"*"},"peerDependencies":{"@igniter-js/core":"*"},"_npmOperationalInternal":{"tmp":"tmp/adapter-mcp-server_0.3.0-alpha.10_1760577981985_0.910302230183029","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-alpha.11":{"name":"@igniter-js/adapter-mcp-server","version":"0.3.0-alpha.11","license":"MIT","_id":"@igniter-js/adapter-mcp-server@0.3.0-alpha.11","maintainers":[{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"}],"dist":{"shasum":"082dd570b2bcc7526ff8ff10c95a93b43dd88102","tarball":"https://registry.npmjs.org/@igniter-js/adapter-mcp-server/-/adapter-mcp-server-0.3.0-alpha.11.tgz","fileCount":6,"integrity":"sha512-gmJSBZTXRrGEcoakEqe1oO1BUjLM8KCCrimP9S8NBmFioPZrEiy4fwMt3Dapjd5r419DfqpLpyWT99C3ET9fTA==","signatures":[{"sig":"MEUCICastao5Maq4dUafuGfHeel4cLCn6x0seSDhXwu7RKW6AiEA9isjCYi7ERKhnBb8QWWq3nrTnFP1s9M2OjaQavkcMyk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62606},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"38c1bd12a1be069e309608be3c99d47b8f6b71fc","private":false,"scripts":{"dev":"tsup src/index.ts --dts --format esm,cjs --out-dir dist --watch","build":"tsup src/index.ts --dts --format esm,cjs --out-dir dist"},"_npmUser":{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"},"_npmVersion":"10.9.3","description":"[![NPM Version](https://img.shields.io/npm/v/@igniter-js/adapter-mcp-server.svg)](https://www.npmjs.com/package/@igniter-js/adapter-mcp-server) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3","mcp-handler":"^1.0.3","@modelcontextprotocol/sdk":"1.17.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@igniter-js/core":"*"},"peerDependencies":{"@igniter-js/core":"*"},"_npmOperationalInternal":{"tmp":"tmp/adapter-mcp-server_0.3.0-alpha.11_1760578185242_0.5303617952011888","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-alpha.12":{"name":"@igniter-js/adapter-mcp-server","version":"0.3.0-alpha.12","license":"MIT","_id":"@igniter-js/adapter-mcp-server@0.3.0-alpha.12","maintainers":[{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"}],"dist":{"shasum":"35b60bc24760257b8770e73043d23bb6c19948e2","tarball":"https://registry.npmjs.org/@igniter-js/adapter-mcp-server/-/adapter-mcp-server-0.3.0-alpha.12.tgz","fileCount":6,"integrity":"sha512-cPWizXXtAFdm4C/V8UBJ/ITq1yvmIDRdbB2i58QiD5x+05KwIilvj1b8SvHfpmWsFWRL5lOZfJY2cuMZmVAwPQ==","signatures":[{"sig":"MEUCIFm4CAyiiopg1D/rPsRchjsaoB6DOUbZlz3HcvEGZKV/AiEAxbQ0S38KiiXLUOW/QQ9+P/TgdRxxx9usFXELF271sMg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62564},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"38c1bd12a1be069e309608be3c99d47b8f6b71fc","private":false,"scripts":{"dev":"tsup src/index.ts --dts --format esm,cjs --out-dir dist --watch","build":"tsup src/index.ts --dts --format esm,cjs --out-dir dist"},"_npmUser":{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"},"_npmVersion":"10.9.3","description":"[![NPM Version](https://img.shields.io/npm/v/@igniter-js/adapter-mcp-server.svg)](https://www.npmjs.com/package/@igniter-js/adapter-mcp-server) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3","mcp-handler":"^1.0.3","@modelcontextprotocol/sdk":"1.17.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@igniter-js/core":"*"},"peerDependencies":{"@igniter-js/core":"*"},"_npmOperationalInternal":{"tmp":"tmp/adapter-mcp-server_0.3.0-alpha.12_1760578597808_0.7166648114674166","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-alpha.13":{"name":"@igniter-js/adapter-mcp-server","version":"0.3.0-alpha.13","license":"MIT","_id":"@igniter-js/adapter-mcp-server@0.3.0-alpha.13","maintainers":[{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"}],"dist":{"shasum":"b66c73bc0b4a82d36c2cf4d7d063cb63fc756637","tarball":"https://registry.npmjs.org/@igniter-js/adapter-mcp-server/-/adapter-mcp-server-0.3.0-alpha.13.tgz","fileCount":6,"integrity":"sha512-z93Z0+Dhyp0Bc0p5Ve1HkokraBbk4/x9D+ZufAx4KaMaFsd7A0Kwrwj5CMSZmUCiUvti12no16+Y/k4EVbA5qw==","signatures":[{"sig":"MEUCIQCTBqNWnOKt3IQp0/ebKWZiqgtKY1O6MLW3UpogGp93BwIgR+KFyVYyGQDAjErDc7sCORTnKFlstrov+R2HtvLrw80=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60772},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"38c1bd12a1be069e309608be3c99d47b8f6b71fc","private":false,"scripts":{"dev":"tsup src/index.ts --dts --format esm,cjs --out-dir dist --watch","build":"tsup src/index.ts --dts --format esm,cjs --out-dir dist"},"_npmUser":{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"},"_npmVersion":"10.9.3","description":"[![NPM Version](https://img.shields.io/npm/v/@igniter-js/adapter-mcp-server.svg)](https://www.npmjs.com/package/@igniter-js/adapter-mcp-server) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3","mcp-handler":"^1.0.3","@modelcontextprotocol/sdk":"1.17.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@igniter-js/core":"*"},"peerDependencies":{"@igniter-js/core":"*"},"_npmOperationalInternal":{"tmp":"tmp/adapter-mcp-server_0.3.0-alpha.13_1760580377374_0.29270985401789096","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-alpha.14":{"name":"@igniter-js/adapter-mcp-server","version":"0.3.0-alpha.14","license":"MIT","_id":"@igniter-js/adapter-mcp-server@0.3.0-alpha.14","maintainers":[{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"}],"dist":{"shasum":"1e6d07108c4315ac5f78c6b6310332a24d9111bc","tarball":"https://registry.npmjs.org/@igniter-js/adapter-mcp-server/-/adapter-mcp-server-0.3.0-alpha.14.tgz","fileCount":6,"integrity":"sha512-mX3iOkt3WzrsupA/Gv1lP8vL7m7kq9IkewuR/6YfGpSkNo8sg1Gs3t/OGEXFEVVbvwfS7U1Dj/Hx0ISH9kmeww==","signatures":[{"sig":"MEUCIQChGoisWoKVA4SqJniE3ElQlC5DJhmr+QMzAgIDTE0NSgIgAsbrAfnAa95Ne5CjulDl1PwflIIXSHCa10rgxSzB/II=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61114},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"38c1bd12a1be069e309608be3c99d47b8f6b71fc","private":false,"scripts":{"dev":"tsup src/index.ts --dts --format esm,cjs --out-dir dist --watch","build":"tsup src/index.ts --dts --format esm,cjs --out-dir dist"},"_npmUser":{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"},"_npmVersion":"10.9.3","description":"[![NPM Version](https://img.shields.io/npm/v/@igniter-js/adapter-mcp-server.svg)](https://www.npmjs.com/package/@igniter-js/adapter-mcp-server) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3","mcp-handler":"^1.0.3","@modelcontextprotocol/sdk":"1.17.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@igniter-js/core":"*"},"peerDependencies":{"@igniter-js/core":"*"},"_npmOperationalInternal":{"tmp":"tmp/adapter-mcp-server_0.3.0-alpha.14_1760589841874_0.5091093728169014","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-alpha.15":{"name":"@igniter-js/adapter-mcp-server","version":"0.3.0-alpha.15","license":"MIT","_id":"@igniter-js/adapter-mcp-server@0.3.0-alpha.15","maintainers":[{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"}],"dist":{"shasum":"0fab55c3d5bfb502b287e337c8dd42575b7c5970","tarball":"https://registry.npmjs.org/@igniter-js/adapter-mcp-server/-/adapter-mcp-server-0.3.0-alpha.15.tgz","fileCount":6,"integrity":"sha512-EabjIjXKc2BSUktB6AvmBKv8BZd9HJUNkEJirJ/LhwEcZxSXIXvaHjDCqNypoBLL6cY/4YNPUB8wZPZAzgDByw==","signatures":[{"sig":"MEUCIQCs9W7wSp+88+GFqXBUaI6wGlnmWb1dXBEBNQeIRrrspAIgK6gd3gxiE+P6c1OKWHF1XOh+zf2UTHOwA/ZdPSrCHMM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61078},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"38c1bd12a1be069e309608be3c99d47b8f6b71fc","private":false,"scripts":{"dev":"tsup src/index.ts --dts --format esm,cjs --out-dir dist --watch","build":"tsup src/index.ts --dts --format esm,cjs --out-dir dist"},"_npmUser":{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"},"_npmVersion":"10.9.3","description":"[![NPM Version](https://img.shields.io/npm/v/@igniter-js/adapter-mcp-server.svg)](https://www.npmjs.com/package/@igniter-js/adapter-mcp-server) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3","mcp-handler":"^1.0.3","@modelcontextprotocol/sdk":"1.17.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@igniter-js/core":"*"},"peerDependencies":{"@igniter-js/core":"*"},"_npmOperationalInternal":{"tmp":"tmp/adapter-mcp-server_0.3.0-alpha.15_1760590700305_0.6765620353088286","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-alpha.16":{"name":"@igniter-js/adapter-mcp-server","version":"0.3.0-alpha.16","license":"MIT","_id":"@igniter-js/adapter-mcp-server@0.3.0-alpha.16","maintainers":[{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"}],"dist":{"shasum":"18584ae57a8cd6db4cde21c066de54e16f0dfcac","tarball":"https://registry.npmjs.org/@igniter-js/adapter-mcp-server/-/adapter-mcp-server-0.3.0-alpha.16.tgz","fileCount":6,"integrity":"sha512-CmVXXKS75DWzhTzStGfazN/y8I6w++1xFhLePocUPrGwGgVoVaNVJa5hOBJfMDO2hUWHXmhtaz29/QHY6t297g==","signatures":[{"sig":"MEQCIFO8AaCwXsy8zgb72TtwYwtXcm8tEvyPENZU4h8WYoKwAiB0iAjMHLj9faSm3bETznUkxFiekJTGZnrxeoN8y4HWqw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61108},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"38c1bd12a1be069e309608be3c99d47b8f6b71fc","private":false,"scripts":{"dev":"tsup src/index.ts --dts --format esm,cjs --out-dir dist --watch","build":"tsup src/index.ts --dts --format esm,cjs --out-dir dist"},"_npmUser":{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"},"_npmVersion":"10.9.3","description":"[![NPM Version](https://img.shields.io/npm/v/@igniter-js/adapter-mcp-server.svg)](https://www.npmjs.com/package/@igniter-js/adapter-mcp-server) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3","mcp-handler":"^1.0.3","@modelcontextprotocol/sdk":"^1.20.0","@socotra/modelcontextprotocol-sdk":"1.18.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@igniter-js/core":"*"},"peerDependencies":{"@igniter-js/core":"*"},"_npmOperationalInternal":{"tmp":"tmp/adapter-mcp-server_0.3.0-alpha.16_1760638243404_0.7617055282068113","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@igniter-js/adapter-mcp-server","version":"0.3.0","license":"MIT","_id":"@igniter-js/adapter-mcp-server@0.3.0","maintainers":[{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"}],"dist":{"shasum":"b59f948104e6f52c148897663221897d2c1ce40a","tarball":"https://registry.npmjs.org/@igniter-js/adapter-mcp-server/-/adapter-mcp-server-0.3.0.tgz","fileCount":6,"integrity":"sha512-U40e61P0vvkj/zGQYbhpmX61Gx+ht8cHqfLVRamBsQ053T4Avr80bhM/7LZS6u1JAnRDAmYMhNcZvcnSV+gSyg==","signatures":[{"sig":"MEQCICis3PMtmyBYErcXR44wXOWVQm0VECN8gVep7rJijSiOAiBmMty1p1dZ2UMCDT+TyMeb/oygkKo6m8JG0MP8XC4+MQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62789},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"d89a1a6539f72edc863d43874cef6d8bb5bcbe2e","private":false,"scripts":{"dev":"tsup src/index.ts --dts --format esm,cjs --out-dir dist --watch","build":"tsup src/index.ts --dts --format esm,cjs --out-dir dist"},"_npmUser":{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"},"_npmVersion":"10.9.3","description":"[![NPM Version](https://img.shields.io/npm/v/@igniter-js/adapter-mcp-server.svg)](https://www.npmjs.com/package/@igniter-js/adapter-mcp-server) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3","mcp-handler":"^1.0.3","@modelcontextprotocol/sdk":"^1.20.0","@socotra/modelcontextprotocol-sdk":"1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"@igniter-js/core":"*"},"peerDependencies":{"@igniter-js/core":"*"},"_npmOperationalInternal":{"tmp":"tmp/adapter-mcp-server_0.3.0_1761178322183_0.07729177416070532","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@igniter-js/adapter-mcp-server","version":"0.3.1","license":"MIT","_id":"@igniter-js/adapter-mcp-server@0.3.1","maintainers":[{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"}],"dist":{"shasum":"96abb806c6b7406bc59fbb75cad299a82b5e5a52","tarball":"https://registry.npmjs.org/@igniter-js/adapter-mcp-server/-/adapter-mcp-server-0.3.1.tgz","fileCount":6,"integrity":"sha512-PkK7r37uQret511CFzQA+JL7jaNa4TFiXfGXqbZyTcBQb9BTsOn3XltY2oUWQJu/XZ/IQyCYQlSKrfc7VlH0IA==","signatures":[{"sig":"MEYCIQCf+q6AePUxOZ0I52xDAg+Bw3FZNzuKtJqyvrBcqdZ3PQIhAJIpmdfYxMHmE+VGAuCQcin5KjCFq9FCyrm/XS2PIMgS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67783},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"653097c46000fe578625348dc3d6cea4a8c88536","private":false,"scripts":{"dev":"tsup src/index.ts --dts --format esm,cjs --out-dir dist --watch","build":"tsup src/index.ts --dts --format esm,cjs --out-dir dist"},"_npmUser":{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"},"_npmVersion":"10.9.3","description":"[![NPM Version](https://img.shields.io/npm/v/@igniter-js/adapter-mcp-server.svg)](https://www.npmjs.com/package/@igniter-js/adapter-mcp-server) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^3","mcp-handler":"^1.0.3","@modelcontextprotocol/sdk":"^1.20.0","@socotra/modelcontextprotocol-sdk":"1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"@igniter-js/core":"*"},"peerDependencies":{"@igniter-js/core":"*"},"_npmOperationalInternal":{"tmp":"tmp/adapter-mcp-server_0.3.1_1761252922065_0.8287931734051321","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@igniter-js/adapter-mcp-server","version":"0.3.2","license":"MIT","_id":"@igniter-js/adapter-mcp-server@0.3.2","maintainers":[{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"}],"dist":{"shasum":"2ff3de264a62f97c4ddc204eaf50ffdce76e5bb4","tarball":"https://registry.npmjs.org/@igniter-js/adapter-mcp-server/-/adapter-mcp-server-0.3.2.tgz","fileCount":6,"integrity":"sha512-PwXlZCe5bZaA91iL8khpHnD4bNkJemkuBErOFic9rnGWls0X7D7iUDm6R8OIzwwB2j3wpdQJAwYrrCtxj4NpgQ==","signatures":[{"sig":"MEQCIDmXBhNysj51kHgZG5Fg9b6CfGkgVALdT3BmJ2t4d00lAiBj2pcv/ofZ3+EIDtf+M/nwokUpJbJbdEwHp4OzGltyJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67731},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"c3d79207a0ff6c03a07109c6f5044029fb01cd0e","private":false,"scripts":{"dev":"tsup src/index.ts --dts --format esm,cjs --out-dir dist --watch","build":"tsup src/index.ts --dts --format esm,cjs --out-dir dist"},"_npmUser":{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"},"_npmVersion":"10.9.3","description":"[![NPM Version](https://img.shields.io/npm/v/@igniter-js/adapter-mcp-server.svg)](https://www.npmjs.com/package/@igniter-js/adapter-mcp-server) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^4.1.13","mcp-handler":"^1.0.3","@modelcontextprotocol/sdk":"^1.23.0"},"_hasShrinkwrap":false,"devDependencies":{"@igniter-js/core":"*"},"peerDependencies":{"@igniter-js/core":"*"},"_npmOperationalInternal":{"tmp":"tmp/adapter-mcp-server_0.3.2_1764308482698_0.3501717260949313","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@igniter-js/adapter-mcp-server","version":"0.3.4","license":"MIT","_id":"@igniter-js/adapter-mcp-server@0.3.4","maintainers":[{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"}],"dist":{"shasum":"0bbf6e4ae6dce63226c5808295964d686562c6e3","tarball":"https://registry.npmjs.org/@igniter-js/adapter-mcp-server/-/adapter-mcp-server-0.3.4.tgz","fileCount":6,"integrity":"sha512-+OfU0f0hbDfwnuZmehbgWdeH/f1rU8wb2XEvuFPaTp6rxCcAjnbl/a2khmAhdhzv7U88eVt3dsUamLrCvwsBaA==","signatures":[{"sig":"MEUCIGvXw+pBm0hgKv+72+JbdkDPmxo4zZZrEgQONEMUxUrlAiEA61TsTiGJiAz2X4xEJC2kPGKjzbPjrp6s5dv/95ucJyE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":77025},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"c3d79207a0ff6c03a07109c6f5044029fb01cd0e","private":false,"scripts":{"dev":"tsup src/index.ts --dts --format esm,cjs --out-dir dist --watch","build":"tsup src/index.ts --dts --format esm,cjs --out-dir dist"},"_npmUser":{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"},"_npmVersion":"10.9.3","description":"[![NPM Version](https://img.shields.io/npm/v/@igniter-js/adapter-mcp-server.svg)](https://www.npmjs.com/package/@igniter-js/adapter-mcp-server) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^4.1.13","mcp-handler":"^1.0.3","@modelcontextprotocol/sdk":"^1.23.0"},"_hasShrinkwrap":false,"devDependencies":{"@igniter-js/core":"*"},"peerDependencies":{"@igniter-js/core":"*"},"_npmOperationalInternal":{"tmp":"tmp/adapter-mcp-server_0.3.4_1764804798678_0.6952752097523438","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@igniter-js/adapter-mcp-server","version":"0.3.5","license":"MIT","_id":"@igniter-js/adapter-mcp-server@0.3.5","maintainers":[{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"}],"dist":{"shasum":"253e15f6cf62c7b43ec69d7bc92cb5a9911ee84f","tarball":"https://registry.npmjs.org/@igniter-js/adapter-mcp-server/-/adapter-mcp-server-0.3.5.tgz","fileCount":6,"integrity":"sha512-mmX5irBv/NUicl5FdOYc0K8uCxVmDRx0qe94mQUkfApGZQb/qNiBNDVsC+soz+BJ6rFz3z9IgfRLmMNJ/p4yXw==","signatures":[{"sig":"MEQCIASkDL0jE7BVdq6HmCbPVswkkJdXaZTbATnK0D3nwM21AiBLw0lFqr+Rx3i39j93d7JbgT2+QaxCTZXSl+yv0zipfA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84829},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"c3d79207a0ff6c03a07109c6f5044029fb01cd0e","private":false,"scripts":{"dev":"tsup src/index.ts --dts --format esm,cjs --out-dir dist --watch","build":"tsup src/index.ts --dts --format esm,cjs --out-dir dist"},"_npmUser":{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"},"_npmVersion":"10.9.3","description":"[![NPM Version](https://img.shields.io/npm/v/@igniter-js/adapter-mcp-server.svg)](https://www.npmjs.com/package/@igniter-js/adapter-mcp-server) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^4.1.13","mcp-handler":"^1.0.3","@modelcontextprotocol/sdk":"^1.23.0"},"_hasShrinkwrap":false,"devDependencies":{"@igniter-js/core":"*"},"peerDependencies":{"@igniter-js/core":"*"},"_npmOperationalInternal":{"tmp":"tmp/adapter-mcp-server_0.3.5_1764805170744_0.43857501689557465","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@igniter-js/adapter-mcp-server","version":"0.3.6","license":"MIT","_id":"@igniter-js/adapter-mcp-server@0.3.6","maintainers":[{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"}],"dist":{"shasum":"470ee6a0474c3db64c3090c1b720c343146ec090","tarball":"https://registry.npmjs.org/@igniter-js/adapter-mcp-server/-/adapter-mcp-server-0.3.6.tgz","fileCount":6,"integrity":"sha512-0BQAwmaCjrlkGaPt+LGKz76OSj6nk5hUJ7jCZaLoSBD9mnrInSSawz1z2fFXygKYdxfetlquOs2hxB9iO70Vpg==","signatures":[{"sig":"MEYCIQCpr7JCe4a/nu2iaRQDNxFUWlqbRj150Rgf/DUaeUw4LQIhAPAQJ/EQV/nxN6yJptUm4QTdUsNa0AhtWN1qaS6AUG+Q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95785},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"c3d79207a0ff6c03a07109c6f5044029fb01cd0e","private":false,"scripts":{"dev":"tsup src/index.ts --dts --format esm,cjs --out-dir dist --watch","build":"tsup src/index.ts --dts --format esm,cjs --out-dir dist"},"_npmUser":{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"},"_npmVersion":"10.9.3","description":"[![NPM Version](https://img.shields.io/npm/v/@igniter-js/adapter-mcp-server.svg)](https://www.npmjs.com/package/@igniter-js/adapter-mcp-server) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)","directories":{},"_nodeVersion":"22.20.0","dependencies":{"zod":"^4.1.13","mcp-handler":"^1.0.3","@modelcontextprotocol/sdk":"^1.23.0"},"_hasShrinkwrap":false,"devDependencies":{"@igniter-js/core":"*"},"peerDependencies":{"@igniter-js/core":"*"},"_npmOperationalInternal":{"tmp":"tmp/adapter-mcp-server_0.3.6_1764806059041_0.033118523140570844","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"@igniter-js/adapter-mcp-server","version":"0.3.7","main":"dist/index.js","types":"dist/index.d.ts","private":false,"scripts":{"dev":"tsup src/index.ts --dts --format esm,cjs --out-dir dist --watch","build":"tsup src/index.ts --dts --format esm,cjs --out-dir dist"},"devDependencies":{"@igniter-js/core":"*"},"peerDependencies":{"@igniter-js/core":"*"},"license":"MIT","dependencies":{"@modelcontextprotocol/sdk":"^1.23.0","mcp-handler":"^1.0.3","zod":"^4.1.13"},"_id":"@igniter-js/adapter-mcp-server@0.3.7","gitHead":"c3d79207a0ff6c03a07109c6f5044029fb01cd0e","description":"[![NPM Version](https://img.shields.io/npm/v/@igniter-js/adapter-mcp-server.svg)](https://www.npmjs.com/package/@igniter-js/adapter-mcp-server) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)","_nodeVersion":"22.20.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-XIgYlaJAOAQhePGppbdd6gI9iRxm/lPUeqoBhwmWkiGer8mXdTj3jnshz3sJaYudFp8sRy6FogrKfMdhDWshzw==","shasum":"4b8fd2fa6f0f5f21465ba91099e5d77da8bb9e8c","tarball":"https://registry.npmjs.org/@igniter-js/adapter-mcp-server/-/adapter-mcp-server-0.3.7.tgz","fileCount":6,"unpackedSize":96515,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBIUapP+3/TP34NpmhSAKO7gbpGh3mc2HcMk/+aPbaEDAiEAjXW8Sja7ldVgx+eEZJUmYwxWTMPmPvcy+9+exKFjr7M="}]},"_npmUser":{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"},"directories":{},"maintainers":[{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/adapter-mcp-server_0.3.7_1764806697621_0.5827095282677734"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-30T15:33:32.669Z","modified":"2025-12-04T00:04:57.989Z","0.2.0":"2025-06-30T14:30:43.489Z","0.1.0-alpha.0":"2025-06-30T15:33:32.949Z","0.1.0-alpha.2":"2025-07-07T21:14:18.274Z","0.2.1":"2025-07-09T17:32:37.795Z","0.3.0-alpha.1":"2025-10-15T01:23:11.355Z","0.3.0-alpha.2":"2025-10-15T03:07:30.896Z","0.3.0-alpha.3":"2025-10-15T03:18:17.105Z","0.3.0-alpha.6":"2025-10-15T22:53:06.289Z","0.3.0-alpha.7":"2025-10-15T23:30:31.540Z","0.3.0-alpha.8":"2025-10-15T23:41:02.366Z","0.3.0-alpha.9":"2025-10-16T00:28:00.931Z","0.3.0-alpha.10":"2025-10-16T01:26:22.192Z","0.3.0-alpha.11":"2025-10-16T01:29:45.502Z","0.3.0-alpha.12":"2025-10-16T01:36:37.993Z","0.3.0-alpha.13":"2025-10-16T02:06:17.555Z","0.3.0-alpha.14":"2025-10-16T04:44:02.074Z","0.3.0-alpha.15":"2025-10-16T04:58:20.517Z","0.3.0-alpha.16":"2025-10-16T18:10:43.616Z","0.3.0":"2025-10-23T00:12:02.378Z","0.3.1":"2025-10-23T20:55:22.263Z","0.3.2":"2025-11-28T05:41:22.911Z","0.3.4":"2025-12-03T23:33:18.830Z","0.3.5":"2025-12-03T23:39:30.892Z","0.3.6":"2025-12-03T23:54:19.186Z","0.3.7":"2025-12-04T00:04:57.774Z"},"license":"MIT","description":"[![NPM Version](https://img.shields.io/npm/v/@igniter-js/adapter-mcp-server.svg)](https://www.npmjs.com/package/@igniter-js/adapter-mcp-server) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)","maintainers":[{"name":"felipebarcelospro","email":"felipebarcelospro@gmail.com"}],"readme":"# @igniter-js/adapter-mcp-server\n\n[![NPM Version](https://img.shields.io/npm/v/@igniter-js/adapter-mcp-server.svg)](https://www.npmjs.com/package/@igniter-js/adapter-mcp-server)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nThe official Model Context Protocol (MCP) adapter for Igniter.js. This package exposes your entire Igniter.js API as a set of tools that can be consumed by MCP-compatible AI agents and applications.\n\n## Role in the Ecosystem\n\nThis adapter transforms your Igniter.js application into an AI-native tool server. It allows AI agents, such as those integrated into IDEs like Cursor, to understand and interact with your API endpoints as if they were native functions. This is a key part of the \"AI-Friendly\" philosophy of Igniter.js, enabling powerful automated workflows.\n\n## Installation\n\nTo use this adapter, you need to install it alongside `@igniter-js/core`.\n\n```bash\n# npm\nnpm install @igniter-js/adapter-mcp-server @igniter-js/core\n\n# yarn\nyarn add @igniter-js/adapter-mcp-server @igniter-js/core\n\n# pnpm\npnpm add @igniter-js/adapter-mcp-server @igniter-js/core\n\n# bun\nbun add @igniter-js/adapter-mcp-server @igniter-js/core\n```\n\n## Basic Usage\n\nThe package provides **two** APIs for creating an MCP adapter:\n\n1. **Builder Pattern API** (`IgniterMcpServer`) - **Recommended** for TypeScript projects with full type inference\n2. **Function API** (`createMcpAdapter`) - For simpler setups and JavaScript projects\n\n### 1. Create the MCP Route Handler (Builder Pattern - Recommended)\n\nIn your Next.js application, create a new API route to handle MCP requests. For example: `src/app/api/mcp/[...transport]/route.ts`.\n\n```typescript\n// src/app/api/mcp/[...transport]/route.ts\nimport { IgniterMcpServer } from '@igniter-js/adapter-mcp-server';\nimport { AppRouter } from '@/igniter.router'; // Import your main Igniter.js router\n\n/**\n * Create the MCP server using the builder pattern.\n * This provides full type inference and a fluent API.\n */\nconst { handler } = IgniterMcpServer\n  .create()\n  .router(AppRouter)\n  .withServerInfo({\n    name: 'Igniter.js MCP Server',\n    version: '1.0.0',\n  })\n  .withInstructions(\"Use the available tools to manage users and products in the Acme Corporation API.\")\n  .build();\n\n/**\n * Export the handler for Next.js to handle both GET and POST requests,\n * which are used by different MCP transport methods (like SSE and WebSockets).\n */\nexport const GET = handler;\nexport const POST = handler;\n\n/**\n * Optional: Export OAuth endpoints if using OAuth protection\n */\n// export const OPTIONS = auth.cors;\n// export { auth.resource as GET } from the OAuth metadata endpoint\n```\n\n### Alternative: Function API (Simple Configuration)\n\nFor simpler setups, you can use the function-based API:\n\n```typescript\n// src/app/api/mcp/[...transport]/route.ts\nimport { createMcpAdapter } from '@igniter-js/adapter-mcp-server';\nimport { AppRouter } from '@/igniter.router';\n\nconst { server, auth } = createMcpAdapter({\n  router: AppRouter,\n  serverInfo: {\n    name: 'Igniter.js MCP Server',\n    version: '1.0.0',\n  },\n  instructions: \"Use the available tools to manage users and products.\",\n});\n\nexport const GET = server;\nexport const POST = server;\n```\n\n### 2. Connect from an MCP Client\n\nWith this handler in place, your Igniter.js API is now an MCP server. You can connect to it from any MCP-compatible client.\n\nFor example, in an AI-powered IDE like Cursor, you would configure your custom MCP server with the following URL:\n\n```\nhttp://localhost:3000/api/mcp/sse\n```\n\nThe AI can now discover and call your API actions:\n\n**AI Prompt:**\n> \"List the users in the system.\"\n\nThe MCP adapter will translate this into a call to `api.users.list.query()` on your backend, execute it, and return the result to the AI.\n\n## Advanced Features\n\n### Builder Pattern: Adding Custom Tools\n\nThe builder pattern provides a fluent API for adding custom tools with full type inference:\n\n```typescript\nimport { IgniterMcpServer } from '@igniter-js/adapter-mcp-server';\nimport { z } from 'zod';\n\nconst { handler } = IgniterMcpServer\n  .create()\n  .router(AppRouter)\n  .withServerInfo({\n    name: 'Igniter.js MCP Server',\n    version: '1.0.0',\n  })\n  .addTool({\n    name: 'calculateTax',\n    description: 'Calculate tax for a given amount',\n    args: {\n      amount: z.number(),\n      taxRate: z.number(),\n    },\n    handler: async (args, context) => {\n      // context is automatically typed from the router!\n      const tax = args.amount * args.taxRate;\n      return {\n        content: [{\n          type: 'text',\n          text: `Tax: $${tax.toFixed(2)}`\n        }]\n      };\n    }\n  })\n  .addTool({\n    name: 'getCurrentTime',\n    description: 'Get the current server time',\n    args: {},\n    handler: async (args, context) => {\n      return {\n        content: [{\n          type: 'text',\n          text: `Current time: ${new Date().toISOString()}`\n        }]\n      };\n    }\n  })\n  .build();\n\nexport const GET = handler;\nexport const POST = handler;\n```\n\n### Builder Pattern: Adding Custom Prompts\n\nRegister prompts that AI agents can use to guide interactions:\n\n```typescript\nconst { handler } = IgniterMcpServer\n  .create()\n  .router(AppRouter)\n  .addPrompt({\n    name: 'debugUser',\n    description: 'Debug user account issues',\n    args: {\n      userId: z.string(),\n    },\n    handler: async (args, context) => {\n      // context is automatically typed from the router!\n      return {\n        messages: [{\n          role: 'user',\n          content: {\n            type: 'text',\n            text: `Please debug the account for user ${args.userId}. Check their permissions, recent activity, and any error logs.`\n          }\n        }]\n      };\n    }\n  })\n  .build();\n```\n\n### Builder Pattern: Adding Custom Resources\n\nExpose resources that AI agents can read:\n\n```typescript\nconst { handler } = IgniterMcpServer\n  .create()\n  .router(AppRouter)\n  .addResource({\n    uri: 'config://app/settings',\n    name: 'Application Settings',\n    description: 'Current application configuration',\n    mimeType: 'application/json',\n    handler: async (context) => {\n      // context is automatically typed from the router!\n      const settings = await getAppSettings();\n      return {\n        contents: [{\n          uri: 'config://app/settings',\n          mimeType: 'application/json',\n          text: JSON.stringify(settings, null, 2)\n        }]\n      };\n    }\n  })\n  .build();\n```\n\n### Builder Pattern: OAuth Authorization\n\nProtect your MCP server with OAuth using the builder pattern:\n\n```typescript\nconst { handler, auth } = IgniterMcpServer\n  .create()\n  .router(AppRouter)\n  .withOAuth({\n    issuer: 'https://auth.example.com',\n    resourceMetadataPath: '/.well-known/oauth-protected-resource',\n    scopes: ['mcp:read', 'mcp:write'],\n    verifyToken: async (token, context) => {\n      // context is automatically typed from the router!\n      const result = await verifyJWT(token);\n      return {\n        valid: result.valid,\n        user: result.user\n      };\n    }\n  })\n  .build();\n\n// Export the handler and OAuth endpoints\nexport const GET = handler;\nexport const POST = handler;\nexport const OPTIONS = auth.cors;\n\n// In your OAuth metadata endpoint route (e.g., /.well-known/oauth-protected-resource)\n// export { auth.resource as GET };\n```\n\nThe adapter will:\n1. Expose OAuth metadata at the specified path\n2. Require ****** on all requests\n3. Verify tokens using your custom verification function\n4. Return proper 401 responses with WWW-Authenticate headers\n\n### Builder Pattern: Event Handlers\n\nMonitor and log MCP operations using the builder pattern:\n\n```typescript\nconst { handler } = IgniterMcpServer\n  .create()\n  .router(AppRouter)\n  .withEvents({\n    onRequest: async (request, context) => {\n      // context is automatically typed from the router!\n      console.log('MCP request received:', request.url);\n    },\n    onResponse: async (response, context) => {\n      console.log('MCP response sent');\n    },\n    onToolCall: async (toolName, args, context) => {\n      console.log(`Tool called: ${toolName}`, args);\n    },\n    onToolSuccess: async (toolName, result, duration, context) => {\n      console.log(`Tool ${toolName} completed in ${duration}ms`);\n    },\n    onToolError: async (toolName, error, context) => {\n      console.error(`Tool ${toolName} failed:`, error);\n    },\n    onError: async (error, context) => {\n      console.error('MCP adapter error:', error);\n    }\n  })\n  .build();\n```\n\n### Function API: Custom Tools, Prompts, Resources\n\nFor the function-based API, you can configure everything in a single options object:\n\n```typescript\nconst { server } = createMcpAdapter({\n  router: AppRouter,\n  tools: {\n    custom: [{\n      name: 'calculateTax',\n      description: 'Calculate tax for a given amount',\n      args: {\n        amount: z.number(),\n        taxRate: z.number(),\n      },\n      handler: async (args, context) => {\n        const tax = args.amount * args.taxRate;\n        return {\n          content: [{\n            type: 'text',\n            text: `Tax: $${tax.toFixed(2)}`\n          }]\n        };\n      }\n    }]\n  },\n  prompts: {\n    custom: [{\n      name: 'debugUser',\n      description: 'Debug user account issues',\n      args: { userId: z.string() },\n      handler: async (args, context) => {\n        return {\n          messages: [{\n            role: 'user',\n            content: {\n              type: 'text',\n              text: `Please debug the account for user ${args.userId}.`\n            }\n          }]\n        };\n      }\n    }]\n  },\n  resources: {\n    custom: [{\n      uri: 'config://app/settings',\n      name: 'Application Settings',\n      description: 'Current application configuration',\n      mimeType: 'application/json',\n      handler: async (context) => {\n        const settings = await getAppSettings();\n        return {\n          contents: [{\n            uri: 'config://app/settings',\n            mimeType: 'application/json',\n            text: JSON.stringify(settings, null, 2)\n          }]\n        };\n      }\n    }]\n  },\n  events: {\n    onToolCall: async (toolName, args, context) => {\n      console.log(`Tool called: ${toolName}`, args);\n    }\n  }\n});\n\nexport const GET = server;\nexport const POST = server;\n```\n\n### Type-Safe Tool Filtering\n\nFilter which tools to expose using a **type-safe** list of tool paths. The compiler will autocomplete and validate the paths based on your router definition.\n\n```typescript\nimport { IgniterMcpServer } from '@igniter-js/adapter-mcp-server';\n\nconst { handler } = IgniterMcpServer\n  .create()\n  .router(AppRouter)\n  // Only include specific tools (type-safe!)\n  .withToolFilter([\n    'users.list',      // ✅ Autocomplete available\n    'users.getById',   // ✅ Type-checked\n    'posts.list',\n  ])\n  .build();\n```\n\n**Exclude mode** - Include all tools except the specified ones:\n\n```typescript\nconst { handler } = IgniterMcpServer\n  .create()\n  .router(AppRouter)\n  // Exclude dangerous tools\n  .withToolFilter([\n    'users.delete',\n    'users.dangerousAction',\n  ], 'exclude')\n  .build();\n```\n\n**Benefits:**\n- ✅ Full autocomplete for controller.action paths\n- ✅ Compile-time validation - typos are caught immediately\n- ✅ Refactoring-safe - renaming an action will show errors\n- ✅ Two modes: 'include' (whitelist) or 'exclude' (blacklist)\n\n### Automatic Tool Annotations\n\nThe MCP adapter automatically infers [tool annotations](https://modelcontextprotocol.io/legacy/concepts/tools#available-tool-annotations) from HTTP methods and action metadata. These annotations help AI agents understand the behavior and side effects of each tool.\n\n**Automatic Inference Rules:**\n\n| HTTP Method | `readOnlyHint` | `destructiveHint` | `idempotentHint` |\n|-------------|----------------|-------------------|------------------|\n| GET         | `true`         | `false`           | `true`           |\n| POST        | `false`        | `false`           | `false`          |\n| PUT         | `false`        | `false`           | `true`           |\n| DELETE      | `false`        | `true`            | `true`           |\n| PATCH       | `false`        | `false`           | `false`          |\n\n**Example Generated Annotations:**\n\n```typescript\n// For: DELETE /users/:id\n{\n  name: \"users_delete\",\n  annotations: {\n    title: \"Delete User\",\n    readOnlyHint: false,      // Modifies state\n    destructiveHint: true,    // Permanently deletes data\n    idempotentHint: true,     // Deleting twice has same effect\n    openWorldHint: false      // Closed system (API)\n  }\n}\n\n// For: GET /users\n{\n  name: \"users_list\",\n  annotations: {\n    title: \"List Users\",\n    readOnlyHint: true,       // Read-only operation\n    destructiveHint: false,   // No data modification\n    idempotentHint: true,     // Safe to call multiple times\n    openWorldHint: false\n  }\n}\n```\n\n**Using the Utility Directly:**\n\n```typescript\nimport { inferToolAnnotations } from '@igniter-js/adapter-mcp-server';\n\nconst annotations = inferToolAnnotations('DELETE', 'Delete User');\n// { title: 'Delete User', readOnlyHint: false, destructiveHint: true, idempotentHint: true, openWorldHint: false }\n```\n\n### Automatic Path Parameter Extraction\n\nThe MCP adapter automatically extracts path parameters from your Igniter.js routes and exposes them in the tool schema. This allows AI agents to understand what parameters are required for each endpoint.\n\nFor example, given an Igniter.js route like:\n\n```typescript\n// Controller path: /users\n// Action path: /:id\n// Full path: /users/:id\n```\n\nThe MCP adapter will:\n1. **Generate a params schema** with `id` as a required string parameter\n2. **Enhance the tool description** to include endpoint info and required path parameters\n3. **Provide proper JSON schema** to the AI agent\n\n**Example Tool Schema Generated:**\n```json\n{\n  \"name\": \"users_getById\",\n  \"description\": \"Get user by ID [GET /users/:id]. Required path parameters: params.id\",\n  \"inputSchema\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"params\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"id\": { \"type\": \"string\", \"description\": \"Path parameter: id\" }\n        },\n        \"required\": [\"id\"]\n      }\n    }\n  }\n}\n```\n\nThis feature works automatically with no additional configuration needed. Path parameters are extracted from patterns like:\n- `/:id` → `{ id: string }`\n- `/:userId/posts/:postId` → `{ userId: string, postId: string }`\n\n### Tool Configuration\n\nBoth APIs support customizing how router actions are exposed as tools.\n\n#### Builder Pattern\n\n```typescript\nconst { handler } = IgniterMcpServer\n  .create()\n  .router(AppRouter)\n  .withToolTransform({\n    // Disable automatic mapping of all router actions\n    autoMap: true,\n    \n    // Custom naming strategy\n    naming: (controller, action) => `${controller}_${action}`,\n    \n    // Filter which actions to expose\n    filter: (controller, action, actionConfig) => {\n      // Only expose actions with a specific tag\n      return actionConfig.tags?.includes('mcp-enabled');\n    },\n    \n    // Transform action configurations\n    transform: (controller, action, actionConfig) => ({\n      name: `${controller}.${action}`,\n      description: actionConfig.summary || actionConfig.description,\n      schema: actionConfig.body || actionConfig.query,\n      tags: actionConfig.tags\n    })\n  })\n  .build();\n```\n\n#### Function API\n\n```typescript\nconst { server } = createMcpAdapter({\n  router: AppRouter,\n  tools: {\n    // Disable automatic mapping of all router actions\n    autoMap: true,\n    \n    // Custom naming strategy\n    naming: (controller, action) => `${controller}_${action}`,\n    \n    // Filter which actions to expose\n    filter: (controller, action, actionConfig) => {\n      // Only expose actions with a specific tag\n      return actionConfig.tags?.includes('mcp-enabled');\n    },\n    \n    // Transform action configurations\n    transform: (controller, action, actionConfig) => ({\n      name: `${controller}.${action}`,\n      description: actionConfig.summary || actionConfig.description,\n      schema: actionConfig.body || actionConfig.query,\n      tags: actionConfig.tags\n    })\n  }\n});\n```\n\n### Adapter Configuration\n\nBoth APIs support configuring the underlying MCP adapter options.\n\n#### Builder Pattern\n\n```typescript\nconst { handler } = IgniterMcpServer\n  .create()\n  .router(AppRouter)\n  .withAdapter({\n    basePath: '/api/mcp',\n    maxDuration: 60,\n    verboseLogs: true,\n    redis: {\n      url: process.env.REDIS_URL,\n      keyPrefix: 'igniter:mcp:'\n    }\n  })\n  .build();\n```\n\n#### Function API\n\n```typescript\nconst { server } = createMcpAdapter({\n  router: AppRouter,\n  adapter: {\n    basePath: '/api/mcp',\n    maxDuration: 60,\n    verboseLogs: true,\n    redis: {\n      url: process.env.REDIS_URL,\n      keyPrefix: 'igniter:mcp:'\n    }\n  }\n});\n```\n\n## API Comparison\n\n### Builder Pattern vs Function API\n\n**Builder Pattern (Recommended)**\n- ✅ Full TypeScript type inference for tools, prompts, and resources\n- ✅ Fluent, chainable API for step-by-step configuration\n- ✅ Better IDE autocomplete and type safety\n- ✅ Explicit separation of concerns\n\n**Function API**\n- ✅ Simpler for basic use cases\n- ✅ Single configuration object\n- ✅ Works well in JavaScript projects\n- ✅ Less verbose for small configurations\n\n## Migration Guide\n\n### From v0.2.x to v0.3.x\n\nThe v0.3.0 release introduces a new builder pattern API alongside the existing function API.\n\n**Old API (v0.2.x) - Still works:**\n```typescript\nconst { server } = createMcpAdapter({\n  router: AppRouter,\n  serverInfo: { name: 'My Server', version: '1.0.0' },\n  tools: { custom: [...] },\n});\n\nexport const GET = server;\nexport const POST = server;\n```\n\n**New Builder API (v0.3.x) - Recommended:**\n```typescript\nconst { handler } = IgniterMcpServer\n  .create()\n  .router(AppRouter)\n  .withServerInfo({ name: 'My Server', version: '1.0.0' })\n  .addTool({ ... })\n  .addPrompt({ ... })\n  .build();\n\nexport const GET = handler;\nexport const POST = handler;\n```\n\nThe builder pattern provides better type inference and a more flexible API for complex configurations.\n\n### Key Differences\n\n1. **Router Configuration**: Router is now part of the configuration object in both APIs\n2. **Context Inference**: Context is automatically inferred from the router - no manual context creation needed\n3. **Builder Pattern**: New chainable API for progressive configuration\n4. **Type Safety**: Enhanced type inference throughout all handlers\n\nFor more detailed guides, please refer to the **[Official Igniter.js Documentation](https://igniterjs.com/docs)**.\n\n## Contributing\n\nContributions are welcome! Please see the main [CONTRIBUTING.md](/CONTRIBUTING.md) file for details on how to get started.\n\n## License\n\nThis package is licensed under the [MIT License](/LICENSE).\n","readmeFilename":"README.md"}