{"_id":"@davindermahal/documentation-mcp","_rev":"10-2967b8aa1c51a7c02c7b1029317691b7","name":"@davindermahal/documentation-mcp","dist-tags":{"latest":"0.5.4"},"versions":{"0.1.0":{"name":"@davindermahal/documentation-mcp","version":"0.1.0","license":"MIT","_id":"@davindermahal/documentation-mcp@0.1.0","maintainers":[{"name":"davindermahal","email":"davinder@mahal.org"}],"homepage":"https://github.com/davindermahal/ai-intake-documentation-mcp#readme","bugs":{"url":"https://github.com/davindermahal/ai-intake-documentation-mcp/issues"},"bin":{"documentation-mcp":"dist/index.js"},"dist":{"shasum":"f8df71f8b80dd1fd97d24cbad96d370faf78622c","tarball":"https://registry.npmjs.org/@davindermahal/documentation-mcp/-/documentation-mcp-0.1.0.tgz","fileCount":55,"integrity":"sha512-rGo6y08/+IqTIp8cECvK17nBXxSo8ivHDoxDlgLIljC8sGpWHuQz+zHlo/hqwAOA/kzhvJsscCTA1saTo1js7w==","signatures":[{"sig":"MEUCIE2x8MeOytX9vFtpAoksYVUE6Jmb1+pyKumB5wuawFCNAiEAkY5LXCVXy4q8zXJEHMgYWc2qFK5OY2jf594bKc6GAhM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84004},"type":"module","gitHead":"c1578f954ef3e5c938edfc87dd9c9f65b7b91ab2","scripts":{"build":"tsc -p tsconfig.json && chmod +x dist/index.js","clean":"rm -rf dist"},"_npmUser":{"name":"davindermahal","email":"davinder@mahal.org"},"repository":{"url":"git+https://github.com/davindermahal/ai-intake-documentation-mcp.git","type":"git","directory":"packages/documentation-mcp"},"_npmVersion":"11.17.0","description":"MCP server that onboards a codebase for AI-agent-assisted development: scans the project, interviews the user, and maintains .ai/docs + .ai/context from an evidence archive","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.0.0","@modelcontextprotocol/server":"^2.0.0","@davindermahal/context-schema":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/documentation-mcp_0.1.0_1788648430502_0.5818958438893449","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@davindermahal/documentation-mcp","version":"0.1.1","license":"MIT","_id":"@davindermahal/documentation-mcp@0.1.1","maintainers":[{"name":"davindermahal","email":"davinder@mahal.org"}],"homepage":"https://github.com/davindermahal/ai-intake-documentation-mcp#readme","bugs":{"url":"https://github.com/davindermahal/ai-intake-documentation-mcp/issues"},"bin":{"documentation-mcp":"dist/index.js"},"dist":{"shasum":"bc2453e37baf8db3e30291f4e00a9d9761023fe1","tarball":"https://registry.npmjs.org/@davindermahal/documentation-mcp/-/documentation-mcp-0.1.1.tgz","fileCount":56,"integrity":"sha512-2yLcrtzeriXGXksOsuG4igRP/LX4Fl7LaAlF9e1PXaE4OsXJ1fxL+DZtXKg2CNJ43WH1uf1cDLecLe3l4MTarQ==","signatures":[{"sig":"MEQCICHAfXziAzHh40tcAxr8dsZMjPMwU7Q8mGE1chOed2tbAiBHmmgB6zKSkWdbu3t84TI9H08ampO/2V/yoB6Uh/HoiQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":89287},"type":"module","gitHead":"c1578f954ef3e5c938edfc87dd9c9f65b7b91ab2","scripts":{"build":"tsc -p tsconfig.json && chmod +x dist/index.js","clean":"rm -rf dist"},"_npmUser":{"name":"davindermahal","email":"davinder@mahal.org"},"repository":{"url":"git+https://github.com/davindermahal/ai-intake-documentation-mcp.git","type":"git","directory":"packages/documentation-mcp"},"_npmVersion":"11.17.0","description":"MCP server that onboards a codebase for AI-agent-assisted development: scans the project, interviews the user, and maintains .ai/docs + .ai/context from an evidence archive","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.0.0","@modelcontextprotocol/server":"^2.0.0","@davindermahal/context-schema":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/documentation-mcp_0.1.1_1788648901161_0.8577406899164575","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@davindermahal/documentation-mcp","version":"0.2.0","license":"MIT","_id":"@davindermahal/documentation-mcp@0.2.0","maintainers":[{"name":"davindermahal","email":"davinder@mahal.org"}],"homepage":"https://github.com/davindermahal/ai-intake-documentation-mcp#readme","bugs":{"url":"https://github.com/davindermahal/ai-intake-documentation-mcp/issues"},"bin":{"documentation-mcp":"dist/index.js"},"dist":{"shasum":"d57596f06dd1aec7dbfb13c9e1f6b303310f7a1b","tarball":"https://registry.npmjs.org/@davindermahal/documentation-mcp/-/documentation-mcp-0.2.0.tgz","fileCount":62,"integrity":"sha512-PTNXqAr+J3TG1wsJJQl7z3yN7DGfRqVb+XS+hI+ITmqAGvdi8gp02sgc6KcX18QHlfUIPwQ85wrGH4AhEEBHrA==","signatures":[{"sig":"MEQCIBVF7IK8be4pdFxCeJE8op4+pnneBIyt56bKDdAvmzl6AiBsBMOElqV2OFuoZ3/QgpsQ2xNlhTc6lr/TuqD7OZYKvA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98866},"type":"module","gitHead":"e6983583da771cb1287cc7125da1daf68856ade1","scripts":{"build":"tsc -p tsconfig.json && chmod +x dist/index.js","clean":"rm -rf dist"},"_npmUser":{"name":"davindermahal","email":"davinder@mahal.org"},"repository":{"url":"git+https://github.com/davindermahal/ai-intake-documentation-mcp.git","type":"git","directory":"packages/documentation-mcp"},"_npmVersion":"11.17.0","description":"MCP server that onboards a codebase for AI-agent-assisted development: scans the project, interviews the user, and maintains .ai/docs + .ai/context from an evidence archive","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.0.0","@modelcontextprotocol/server":"^2.0.0","@davindermahal/context-schema":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/documentation-mcp_0.2.0_1788662215779_0.670251821169533","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@davindermahal/documentation-mcp","version":"0.3.0","license":"MIT","_id":"@davindermahal/documentation-mcp@0.3.0","maintainers":[{"name":"davindermahal","email":"davinder@mahal.org"}],"homepage":"https://github.com/davindermahal/ai-intake-documentation-mcp#readme","bugs":{"url":"https://github.com/davindermahal/ai-intake-documentation-mcp/issues"},"bin":{"documentation-mcp":"dist/index.js"},"dist":{"shasum":"c655d9d8df4f06a34296a07c163c99a7fb655ea8","tarball":"https://registry.npmjs.org/@davindermahal/documentation-mcp/-/documentation-mcp-0.3.0.tgz","fileCount":80,"integrity":"sha512-vqKGK/jmQIOi16A1KtNG+dQF5/kTV4YVhk0fJzJ3Gury/bf42VWwweDZPYuEL4zKk7PI4LnQkwJ9TIxFEYlqmQ==","signatures":[{"sig":"MEUCIH64jPYiq3GnyAhe/kt0N6hxVGmfirzcSNP78pTzEREwAiEAkeU8mN3bCgOV3I7ByUVkA2rFHO/ZzIxwvcWEn9rzYcQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@davindermahal%2fdocumentation-mcp@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":157249},"type":"module","gitHead":"37c7b844520b9acd34175c1088c14d8b33e1b77e","scripts":{"build":"tsc -p tsconfig.json && chmod +x dist/index.js","clean":"rm -rf dist"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:75903e0e-9c33-468c-8739-09ee6089711e"}},"repository":{"url":"git+https://github.com/davindermahal/ai-intake-documentation-mcp.git","type":"git","directory":"packages/documentation-mcp"},"_npmVersion":"12.0.2","description":"MCP server that onboards a codebase for AI-agent-assisted development: scans the project, interviews the user, and maintains .ai/docs + .ai/context from an evidence archive","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.0.0","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0","@davindermahal/context-schema":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/documentation-mcp_0.3.0_1788893461100_0.18350573032135253","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@davindermahal/documentation-mcp","version":"0.4.0","license":"MIT","_id":"@davindermahal/documentation-mcp@0.4.0","maintainers":[{"name":"davindermahal","email":"davinder@mahal.org"}],"homepage":"https://github.com/davindermahal/ai-intake-documentation-mcp#readme","bugs":{"url":"https://github.com/davindermahal/ai-intake-documentation-mcp/issues"},"bin":{"documentation-mcp":"dist/index.js"},"dist":{"shasum":"887b50d71fb8d3a49f6a1c4091b054973c6b0e54","tarball":"https://registry.npmjs.org/@davindermahal/documentation-mcp/-/documentation-mcp-0.4.0.tgz","fileCount":80,"integrity":"sha512-o/ceFTJNV1EEOb1CzUK3FgdEVmdrswIeTpNOlnfzOh7aKgDUPY/XLYionn2t2fiO9TLpD9KcCL6xiYbxoyhpOg==","signatures":[{"sig":"MEQCIAOrxa0HOi+QAMifoHiNpOftKueE7CdKq0Ma5a1nbMkIAiA8S4tEVDq+VrcmlbUVu1jtFdkQSljcEynQBikLjGRFAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@davindermahal%2fdocumentation-mcp@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":146316},"type":"module","gitHead":"a7eb920cca1be158c691b4e14452199ae5f49573","scripts":{"build":"tsc -p tsconfig.json && chmod +x dist/index.js","clean":"rm -rf dist","smoke:confluence":"node --import tsx scripts/confluence-smoke-check.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:75903e0e-9c33-468c-8739-09ee6089711e"}},"repository":{"url":"git+https://github.com/davindermahal/ai-intake-documentation-mcp.git","type":"git","directory":"packages/documentation-mcp"},"_npmVersion":"12.0.2","description":"MCP server that onboards a codebase for AI-agent-assisted development: scans the project, interviews the user, and maintains .ai/docs + .ai/context from an evidence archive","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.0.0","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0","@davindermahal/context-schema":"^0.1.0","@davindermahal/confluence-client":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","typescript":"^5.7.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/documentation-mcp_0.4.0_1788930783604_0.8440993168817619","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@davindermahal/documentation-mcp","version":"0.5.0","license":"MIT","_id":"@davindermahal/documentation-mcp@0.5.0","maintainers":[{"name":"davindermahal","email":"davinder@mahal.org"}],"homepage":"https://github.com/davindermahal/ai-intake-documentation-mcp#readme","bugs":{"url":"https://github.com/davindermahal/ai-intake-documentation-mcp/issues"},"bin":{"documentation-mcp":"dist/index.js"},"dist":{"shasum":"6143487f2cd906c9f21b1587b9ed0aa529afdba8","tarball":"https://registry.npmjs.org/@davindermahal/documentation-mcp/-/documentation-mcp-0.5.0.tgz","fileCount":90,"integrity":"sha512-Dv87ynQP8g88TA2whrrV2+Qr5Cal6mIK7quqd3CGB6Dvk6Ew707n9Nr+cmR/Uc8UOawZq7cqznX4pTHYoTYdAw==","signatures":[{"sig":"MEUCIQCooKS5am8My7jMJCS/75jVBFrmYq3M8dCpJ9rImPGcRgIgbutp3IcGZutj8yd2jw5OO5vWFMIhBGjivYzUsme2X3I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@davindermahal%2fdocumentation-mcp@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":175532},"type":"module","gitHead":"22f0bd2cc374ae306b44976f6aa5aef6eb0548c1","scripts":{"build":"tsc -p tsconfig.json && chmod +x dist/index.js","clean":"rm -rf dist","smoke:confluence":"node --import tsx scripts/confluence-smoke-check.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:75903e0e-9c33-468c-8739-09ee6089711e"}},"repository":{"url":"git+https://github.com/davindermahal/ai-intake-documentation-mcp.git","type":"git","directory":"packages/documentation-mcp"},"_npmVersion":"12.0.2","description":"MCP server that onboards a codebase for AI-agent-assisted development: scans the project, interviews the user, and maintains .ai/docs + .ai/context from an evidence archive","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.0.0","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0","@davindermahal/context-schema":"^0.1.0","@davindermahal/confluence-client":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","typescript":"^5.7.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/documentation-mcp_0.5.0_1788933867078_0.5906882957978654","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@davindermahal/documentation-mcp","version":"0.5.1","license":"MIT","_id":"@davindermahal/documentation-mcp@0.5.1","maintainers":[{"name":"davindermahal","email":"davinder@mahal.org"}],"homepage":"https://github.com/davindermahal/ai-intake-documentation-mcp#readme","bugs":{"url":"https://github.com/davindermahal/ai-intake-documentation-mcp/issues"},"bin":{"documentation-mcp":"dist/index.js"},"dist":{"shasum":"e0da3e114cdd5df42b6ab1db08db22decad7b3f7","tarball":"https://registry.npmjs.org/@davindermahal/documentation-mcp/-/documentation-mcp-0.5.1.tgz","fileCount":90,"integrity":"sha512-rNnk5yA2MCzBgt5XAax5HR4GXuCFz1WiOaLoAjXZTKG/yfzdpj+uK7J5IT6Q/+5echcZ3q2pDu6JxdcD+T5giQ==","signatures":[{"sig":"MEYCIQC3nwvSZaeoqX9rctqMpiCy6x4smMnF1utHSJuVtYcImwIhAJhswtf6wJOSPwzm7KucNmvv2XU+PXf/fbnh/DU0wIqs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@davindermahal%2fdocumentation-mcp@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":177147},"type":"module","gitHead":"c4104ad0709ce6b8fcd2cdf3f0e0b143d26935fa","scripts":{"build":"tsc -p tsconfig.json && chmod +x dist/index.js","clean":"rm -rf dist","smoke:confluence":"node --import tsx scripts/confluence-smoke-check.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:75903e0e-9c33-468c-8739-09ee6089711e"}},"repository":{"url":"git+https://github.com/davindermahal/ai-intake-documentation-mcp.git","type":"git","directory":"packages/documentation-mcp"},"_npmVersion":"12.0.2","description":"MCP server that onboards a codebase for AI-agent-assisted development: scans the project, interviews the user, and maintains .ai/docs + .ai/context from an evidence archive","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.0.0","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0","@davindermahal/context-schema":"^0.1.0","@davindermahal/confluence-client":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","typescript":"^5.7.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/documentation-mcp_0.5.1_1788968530114_0.20681483760671937","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@davindermahal/documentation-mcp","version":"0.5.2","license":"MIT","_id":"@davindermahal/documentation-mcp@0.5.2","maintainers":[{"name":"davindermahal","email":"davinder@mahal.org"}],"homepage":"https://github.com/davindermahal/ai-intake-documentation-mcp#readme","bugs":{"url":"https://github.com/davindermahal/ai-intake-documentation-mcp/issues"},"bin":{"documentation-mcp":"dist/index.js"},"dist":{"shasum":"cbe974d97620d392c122aaf600aaff98d4f56964","tarball":"https://registry.npmjs.org/@davindermahal/documentation-mcp/-/documentation-mcp-0.5.2.tgz","fileCount":90,"integrity":"sha512-bpbrw+e0jjXzu42A30BYJAwAp5TVbK0SxdJPrqXFAXiH2YnhxDj0eIDqEyzyhDSzf7ciYyJ2Ax5JIT2v30XVBA==","signatures":[{"sig":"MEUCIAmmOiwFMqmsg84wbMRIIH/4pu29sWu0vlAHKBWYuKr+AiEAtjPnKWxLtoBJFzNt3GmqgKwRLeKjAKzuM0gR6mOCNbk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC+4eMbQItOKv1LHoZy7k8Mczyi9tLppCK48DO8eP7wRwIgBoQiHEJtrwd6gxK9eo5iOjhbsHqvwIIb8A06uWliy8g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@davindermahal%2fdocumentation-mcp@0.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":178443},"type":"module","gitHead":"64a7746f9e7c692df22f40428a6a0205dbc02c23","scripts":{"build":"tsc -p tsconfig.json && chmod +x dist/index.js","clean":"rm -rf dist","smoke:confluence":"node --import tsx scripts/confluence-smoke-check.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:75903e0e-9c33-468c-8739-09ee6089711e"}},"repository":{"url":"git+https://github.com/davindermahal/ai-intake-documentation-mcp.git","type":"git","directory":"packages/documentation-mcp"},"_npmVersion":"12.0.2","description":"MCP server that onboards a codebase for AI-agent-assisted development: scans the project, interviews the user, and maintains .ai/docs + .ai/context from an evidence archive","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.0.0","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0","@davindermahal/context-schema":"^0.1.0","@davindermahal/confluence-client":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","typescript":"^5.7.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/documentation-mcp_0.5.2_1789527380292_0.8773863975581631","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@davindermahal/documentation-mcp","version":"0.5.3","license":"MIT","_id":"@davindermahal/documentation-mcp@0.5.3","maintainers":[{"name":"davindermahal","email":"davinder@mahal.org"}],"homepage":"https://github.com/davindermahal/ai-intake-documentation-mcp#readme","bugs":{"url":"https://github.com/davindermahal/ai-intake-documentation-mcp/issues"},"bin":{"documentation-mcp":"dist/index.js"},"dist":{"shasum":"4a45280876f902bb82cf30a5ed8f0c6c71f5b36b","tarball":"https://registry.npmjs.org/@davindermahal/documentation-mcp/-/documentation-mcp-0.5.3.tgz","fileCount":90,"integrity":"sha512-wS2F5jH/HIxbhnOs7NR6AXohPSIvoqBdz/ajNInUdiHkBbrcMC0NoDLtpJFB58EebLRwa/p4BWjlavGfuAAp3w==","signatures":[{"sig":"MEYCIQCYMbnz/JcHyxDsWLgME2sKdCcQ31VyU4RAUq4nOaBu3wIhAM0LrhQ/9BozmLsbuwOe6375DwsManfp46C5YkC/2MC5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDSY5KBt3qd9qmvT890AczeAf35L85rxi39BC7/e69C+QIhAOaUmYmowFWiWhSLmEeJQsDTbFb/UVXMPJPBupLMf6yj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@davindermahal%2fdocumentation-mcp@0.5.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":179781},"type":"module","gitHead":"c3ded5fdcd497f9ff129337131c764fa7a32b4b4","scripts":{"build":"tsc -p tsconfig.json && chmod +x dist/index.js","clean":"rm -rf dist","smoke:confluence":"node --import tsx scripts/confluence-smoke-check.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:75903e0e-9c33-468c-8739-09ee6089711e"}},"repository":{"url":"git+https://github.com/davindermahal/ai-intake-documentation-mcp.git","type":"git","directory":"packages/documentation-mcp"},"_npmVersion":"12.0.2","description":"MCP server that onboards a codebase for AI-agent-assisted development: scans the project, interviews the user, and maintains .ai/docs + .ai/context from an evidence archive","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.0.0","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0","@davindermahal/context-schema":"^0.1.0","@davindermahal/confluence-client":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","typescript":"^5.7.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/documentation-mcp_0.5.3_1789534728134_0.5340733968811704","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"_id":"@davindermahal/documentation-mcp@0.5.4","bin":{"documentation-mcp":"dist/index.js"},"bugs":{"url":"https://github.com/davindermahal/ai-intake-documentation-mcp/issues"},"dist":{"shasum":"c3806ac64e23cc9db52929805b4101e8b4989b6d","tarball":"https://registry.npmjs.org/@davindermahal/documentation-mcp/-/documentation-mcp-0.5.4.tgz","fileCount":99,"integrity":"sha512-NJyxuLtVB5VcqQd7D9zDawh0A4YUvISxKKBNIBN9xge8Mnr4zJnoDQ3rQ3PmqcMwaAZT07CKxZWa5VSwa/sanw==","signatures":[{"sig":"MEQCIHSpm4KyrO4ngeE5USSRORwHQwqxO6EBg7KcT9xdibNLAiALwsV1wxGRZcrfPM3X6X0Pkt4kHZWcbF0MfO4Ax8ZL0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDC/plfA/OQ4ziLEVu++CbMkUgmmblf+Kl50hN7L7s+DwIhAODFcj0zgtZXy1qXtqZMvPn/8U/2KMYSx7QFCh9dPKwL"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@davindermahal%2fdocumentation-mcp@0.5.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":196987},"name":"@davindermahal/documentation-mcp","type":"module","gitHead":"680583f990331f6cea932bd515cbbd5b0f430769","license":"MIT","scripts":{"build":"tsc -p tsconfig.json && chmod +x dist/index.js","clean":"rm -rf dist","smoke:confluence":"node --import tsx scripts/confluence-smoke-check.ts"},"version":"0.5.4","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:75903e0e-9c33-468c-8739-09ee6089711e"}},"homepage":"https://github.com/davindermahal/ai-intake-documentation-mcp#readme","repository":{"url":"git+https://github.com/davindermahal/ai-intake-documentation-mcp.git","type":"git","directory":"packages/documentation-mcp"},"_npmVersion":"12.0.2","description":"MCP server that onboards a codebase for AI-agent-assisted development: scans the project, interviews the user, and maintains .ai/docs + .ai/context from an evidence archive","directories":{},"maintainers":[{"name":"davindermahal","email":"davinder@mahal.org"}],"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.0.0","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0","@davindermahal/context-schema":"^0.1.0","@davindermahal/confluence-client":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","typescript":"^5.7.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/documentation-mcp_0.5.4_1789652697761_0.10982246148783892"}}},"time":{"created":"2026-09-05T22:47:10.290Z","modified":"2026-09-17T13:44:58.244Z","0.1.0":"2026-09-05T22:47:10.705Z","0.1.1":"2026-09-05T22:55:01.323Z","0.2.0":"2026-09-06T02:36:55.903Z","0.3.0":"2026-09-08T18:51:01.236Z","0.4.0":"2026-09-09T05:13:03.750Z","0.5.0":"2026-09-09T06:04:27.223Z","0.5.1":"2026-09-09T15:42:10.266Z","0.5.2":"2026-09-16T02:56:20.393Z","0.5.3":"2026-09-16T04:58:48.231Z","0.5.4":"2026-09-17T13:44:57.865Z"},"bugs":{"url":"https://github.com/davindermahal/ai-intake-documentation-mcp/issues"},"license":"MIT","homepage":"https://github.com/davindermahal/ai-intake-documentation-mcp#readme","repository":{"url":"git+https://github.com/davindermahal/ai-intake-documentation-mcp.git","type":"git","directory":"packages/documentation-mcp"},"description":"MCP server that onboards a codebase for AI-agent-assisted development: scans the project, interviews the user, and maintains .ai/docs + .ai/context from an evidence archive","maintainers":[{"name":"davindermahal","email":"davinder@mahal.org"}],"readme":"# @davindermahal/documentation-mcp\n\nAn MCP server that onboards a codebase for AI-agent-assisted development: it scans the project,\nasks the questions only a human can answer (purpose, target users, constraints), and maintains\nliving documentation under `.ai/` — one set for humans, one distilled for AI coding agents — built\nfrom an append-only evidence archive so nothing is lost and every fact is traceable.\n\nWorks with Claude Code, Gemini CLI, or any other MCP-capable client.\n\n## Install\n\nAdd it to your MCP client's config — no separate install step needed, `npx` handles it. Both\nclients use the same `command`/`args` shape — only the config file differs.\n\n**Claude Code** (`.mcp.json` at a repo root, or `claude mcp add`):\n```json\n{\n  \"mcpServers\": {\n    \"documentation-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@davindermahal/documentation-mcp\"]\n    }\n  }\n}\n```\nOr via the CLI: `claude mcp add documentation-mcp -- npx -y @davindermahal/documentation-mcp`\n\n**Gemini CLI** (`~/.gemini/settings.json` for user scope, or `.gemini/settings.json` for project\nscope):\n```json\n{\n  \"mcpServers\": {\n    \"documentation-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@davindermahal/documentation-mcp\"]\n    }\n  }\n}\n```\n\n### Upgrading\n\n`npx` resolves the `latest` dist-tag on every launch by default, so restarting the client is\nusually enough to pick up a new release. If it seems to be serving a stale version anyway (`npx`\ndoes cache resolved installs), force a re-fetch — `rm -rf ~/.npm/_npx`, then restart the client. To\npin an exact version instead of always tracking latest, append it to the package spec in `args`:\n`\"@davindermahal/documentation-mcp@0.5.3\"`.\n\n### Confluence credentials (optional)\n\nThe core tools (`ensure_ai_dir`, `scan_project`, `record_evidence`, `write_doc`,\n`write_context_chunk`, `check_drift`, `write_plan`, `list_plans`, `transition_plan`) work with no\ncredentials at all — skip this section unless you also want the Confluence guide-catalog tools\n(`write_guide`/`ensure_guide_index`/`sync_guide`/`list_guides`/`publish_local_guides`/\n`fetch_confluence_pages`, see below).\n\nThose read from the same shared config file `ai-intake-mcp` uses — `~/.config/ai-intake-mcp/.env`\n(one file, reused across both servers, not project-specific):\n\n```bash\nmkdir -p ~/.config/ai-intake-mcp\ncat >> ~/.config/ai-intake-mcp/.env <<'EOF'\nCONFLUENCE_SPACE_KEY=ENG\nEOF\nchmod 600 ~/.config/ai-intake-mcp/.env\n```\n\nConfluence auth itself (site URL/email/API token) falls back to this same file's\n`JIRA_SITE_URL`/`JIRA_INTAKE_EMAIL`/`JIRA_INTAKE_API_TOKEN` if already set (e.g. from setting up\n`ai-intake-mcp`) — set `CONFLUENCE_SITE_URL`/`CONFLUENCE_EMAIL`/`CONFLUENCE_API_TOKEN` instead only\nif Confluence lives on different credentials than Jira. `CONFLUENCE_SPACE_KEY` (the space to create\nthe guide index/pages in) and `CONFLUENCE_GUIDE_INDEX_URL`/`GUIDES_LOCAL_DIR` (optional) are this\nserver's own fields, always read from this file regardless.\n\n## Getting started\n\nRun the `start_documentation` prompt to kick off (or resume/resync) onboarding — in Claude Code\nthat's the slash command `/mcp__documentation-mcp__start_documentation`, no arguments required. It\ndirects the calling agent to detect/initialize `.ai/`, and — on a repo that's already been scanned\nbefore — check for drift first and confirm with you before rescanning rather than leaving you to\nnotice staleness and drive `check_drift`/`scan_project` yourself. From there it asks what you want\ndocumented, scans the project, asks you its open questions (purpose, users, constraints, and\nanything else it notices missing) instead of guessing, records your answers as evidence, and\nwrites the resulting docs. Calling the tools below directly also works, in the order described\nunder \"Typical call order\".\n\nFor documenting one specific part of the system — a directory, module, feature, or flow — instead\nof a whole-repo pass, run the `document_area` prompt (`/mcp__documentation-mcp__document_area`,\noptionally with an `area` argument, e.g. `/mcp__documentation-mcp__document_area src/billing`). It\nskips the drift check and whole-repo scan, reads the actual code in that area, asks you dynamic\nfollow-up questions derived from what it finds (business rules, non-obvious decisions, edge cases)\nrather than a fixed checklist, then writes both `.ai/docs` and `.ai/context` scoped to that area.\nThis is the one to reach for repeatedly as a team documents its apps incrementally.\n\nEither prompt also accepts a `confluence_links` argument (or you can just name a page mid-session)\n— any relevant Confluence page you point at gets fetched and cited in the resulting docs via\n`fetch_confluence_pages`, the same \"operator names a page, not a search\" model `ai-intake-mcp` uses\nduring planning.\n\n## Confluence guide catalog\n\nSeparately from the docs above, `write_guide` (`/mcp__documentation-mcp__write_guide`) publishes or\nupdates a guide (e.g. an upgrade walkthrough) on a shared Confluence index that `ai-intake-mcp`\nreads from during ticket planning — see the `ensure_guide_index`/`list_guides`/`sync_guide` tools\nbelow.\n\n### Importing guides authored in another repo\n\nIf guides are authored somewhere else (e.g. a separate `ai-context-guides` checkout, one `.md` file\nper guide, each starting with a `# Title` line followed by a description paragraph — no\nfrontmatter needed) and you don't want to hand-copy them one at a time, use `list_local_guides` /\n`publish_local_guides` instead of `write_guide`.\n\nPoint `list_local_guides` at that directory once, with `guides_dir: \"/absolute/path/to/guides\"` —\nit persists the path to `GUIDES_LOCAL_DIR` in the same config file `ensure_guide_index` writes to,\nso later calls (from either tool) can omit `guides_dir` and it's picked up automatically. It lists\nevery local `.md` file's derived title/description plus `existsOnIndex`, so you can see what's new\nbefore publishing.\n\nThen call `publish_local_guides` with the `filenames` you picked (or omit it / pass `[\"all\"]` for\nevery guide not already on the index). It creates each one's Confluence page and index row exactly\nlike `sync_guide` does for a brand-new guide — but a guide already on the index (by exact title) is\nalways skipped, never overwritten; use `sync_guide` directly if you want to update one. Tags always\ncome back empty (local guide files don't carry them) — add them in Confluence afterwards if wanted.\n\n## Tools\n\n| Tool | Does |\n|---|---|\n| `ensure_ai_dir` | Gets `.ai/` into a good state in one call: `absent` → creates the scaffold + manifest, `outdated` (ours, but stale) → migrates/backfills automatically, `conformant` → no-op. `non-conformant` (foreign content already there) is never touched automatically — returns the files found so you can ask before calling `apply_ai_dir_migration`. Always call this first. |\n| `get_setup_status` | Reads back the manifest: last scan/synthesis time, pending evidence counts, `needs_resync`. |\n| `scan_project` | Read-only repo scan: manifest files and infra signals up to 2 directories deep (catches a frontend/api-style split, not just root), root-only CI config, existing human docs (README/CONTRIBUTING) and existing AI-agent docs (`AGENTS.md`/`CLAUDE.md`/`.cursorrules`/`.github/copilot-instructions.md`) separately, plus open questions only a human can answer. Requires `.ai/` to be initialized first. |\n| `record_evidence` | Appends an immutable evidence entry (`new-rule` / `correction` / `clarification` / `raw-note`; source `human` / `agent-inferred` / `legacy-doc` / `existing-docs`). A `correction` sets `needs_resync`. Requires `.ai/` to be initialized first. |\n| `apply_ai_dir_migration` | Ingests a non-conformant `.ai/`'s content as legacy evidence (`source: \"legacy-doc\"`), then scaffolds normally. Requires `confirm: true`; originals are kept unless `remove_originals` is set. |\n| `list_evidence` | Reads back evidence entries (unsynthesized by default) for the calling agent to review before writing docs/context. |\n| `write_doc` | Commits agent-authored markdown to `.ai/docs/<path>`. Marks any referenced evidence synthesized and recomputes the manifest's pending counters. |\n| `write_context_chunk` | Same, to `.ai/context/<path>`, plus a `.meta.json` sidecar (title/area/risk) so a harness can retrieve chunks selectively by area. |\n| `check_drift` | Compares the manifest's `last_scan_sha` to current git HEAD; returns changed files if stale. Separate concern from `needs_resync` (evidence staleness). |\n| `write_plan` | Creates a plan file — required for all ticket work and all planning work. Starts `draft` by default; filename is `<date>-<slug>.md` (or `<ticket_key>-<date>-<slug>.md`), auto-deduplicated on collision. |\n| `list_plans` | Returns full plan metadata + content, optionally filtered by `status` and/or `ticket_key`. |\n| `transition_plan` | Moves a plan between `draft`/`active`/`completed` — physically relocates the file, not just a status flag. Sets `approved_at` the first (and only the first) time a plan reaches `active`. |\n| `ensure_guide_index` | Gets the shared Confluence guide index page into a good state: creates it (empty table) if `CONFLUENCE_GUIDE_INDEX_URL` is unset, otherwise confirms the existing page still resolves. Safe to call anytime, including repeatedly. |\n| `list_guides` | Fetches and parses the shared Confluence guide index into structured rows. |\n| `sync_guide` | Publishes a guide: creates/updates its Confluence page (as a child of the index), adds/updates its index row (stamping today's date into Last Modified), and best-effort attaches the source markdown as evidence. |\n| `fetch_confluence_pages` | Fetches specific Confluence pages by URL — operator-named links, not a catalog or search. Partial-failure tolerant: a URL that isn't a fetchable page on the configured site is silently skipped. |\n| `list_local_guides` | Lists `.md` guide files in a local directory (`GUIDES_LOCAL_DIR`, or pass `guides_dir` once to set it) with derived title/description and `existsOnIndex` against the Confluence index. Read-only. |\n| `publish_local_guides` | Publishes selected local guide filenames (or every new one, via `[\"all\"]`/omitted) onto the Confluence index — same page-creation path as `sync_guide`, but always skips a guide already on the index rather than updating it. |\n\nTypical call order: `ensure_ai_dir` → (if it reports `non-conformant`, ask the user, then\n`apply_ai_dir_migration`) → `scan_project` → `record_evidence` (as needed) → `list_evidence` →\n`write_doc` / `write_context_chunk` → `get_setup_status` / `check_drift`. Independently, for any\nticket or planning work: `write_plan` → `transition_plan` (draft → active on approval → completed\nwhen done).\n\n## Relationship to `ai-intake-mcp`\n\n`ai-intake-mcp` is a separate Jira ticket-execution harness (`tracker_get_issue`,\n`implement_ticket`, `approve_plan`, `worktree_create`, etc.) that auto-writes `.ai/intake-mcp.json`\non first tracker use. This project never touches that file. The two stay separate servers\n(different lifecycle, different blast radius) but share the `.ai/` schema via\n[`@davindermahal/context-schema`](https://www.npmjs.com/package/@davindermahal/context-schema), so\ntheir file layout can't drift even though they're released independently.\n\n## Source and development\n\nFull source, tests, and contribution notes live in the\n[monorepo](https://github.com/davindermahal/ai-intake-documentation-mcp).\n\n## Changelog\n\nSee [`CHANGELOG.md`](CHANGELOG.md) for release history.\n\n## License\n\nMIT — see the [full repo](https://github.com/davindermahal/ai-intake-documentation-mcp) for\nlicense text.\n","readmeFilename":"README.md"}