{"_id":"drupal-mcp-connector","_rev":"72-15115f9b7d41b28d2bd0de7bdd87888a","name":"drupal-mcp-connector","dist-tags":{"latest":"3.1.0"},"versions":{"0.6.1":{"name":"drupal-mcp-connector","version":"0.6.1","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"jmcerda@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@0.6.1","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"2e1a8f3e23c053f6e0fd6bf68c17a9e36332438a","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-0.6.1.tgz","fileCount":34,"integrity":"sha512-CGznF4gXyc5Ds2alBY0k97VavtGLuTfwK6XTJaMIm2T4oGfgXLFP7saUch2qgyf2DozUSZErV1Oq2e5PoZFO2g==","signatures":[{"sig":"MEQCIDVQLYFn4WPXMc0jbSEN6FL49hod9dk3YcGJMQjpGhTuAiBy6wtLhLRP603UEvvUKJp2DGObyhRoXQ54U972dFaPEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":273260},"main":"src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"61209cf6b6961f137077bff18b012c3f0028701d","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done"},"_npmUser":{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.12.1","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"ssh2":"^1.16.0","graphql":"^16.9.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^2.1.0","globals":"^15.0.0","eslint-plugin-n":"^17.0.0","eslint-plugin-security":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_0.6.1_1780584651338_0.9895999796287092","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"drupal-mcp-connector","version":"0.7.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"jmcerda@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@0.7.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"758b76dce75d54be30f4cf4da854487bfbf6aed8","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-0.7.0.tgz","fileCount":34,"integrity":"sha512-2fMmx9GV3ql+vqUydXGlT8UvKqQ2hKRLYkoykJUAEWaIDCEn+gvLOGLMXg3V9WRz5VwT806dAEy1iYYyuY3JFA==","signatures":[{"sig":"MEUCIQD2kKRUe6HtS6YNQ6nrzkujOEZD5DP70AAkTeXNarn5IQIgFYO0rYfXeHaU5IWxq4aieBypV4I2L/gnaAy8+rfsWNg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":274351},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"e00af8b7eb61c381bf65c166e1847c864f84a85a","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.16.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^16.9.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^4.1.8","globals":"^15.0.0","eslint-plugin-n":"^17.0.0","eslint-plugin-security":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_0.7.0_1780929450224_0.17297095691329378","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"drupal-mcp-connector","version":"0.7.1","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"jmcerda@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@0.7.1","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"ddc454dae7e437b3f60afc97d5d75203736d6b77","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-0.7.1.tgz","fileCount":34,"integrity":"sha512-1ZfyTZ2Kgvxnyqdev5bALqliQNDUurG48+RQVhOSb5pZKbUXGYNzgz4zgo+IsvcEBgXpi2HjdsBq2sgyQEKwIA==","signatures":[{"sig":"MEUCID9GgGAA8Xh9QU1YrRGFuOWqceGdGJKft74sFtGXr3k3AiEAwNcADKwwXg9QfH7lXb0OPnUfr50YhU4tjTLDauYoeBg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":275462},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"81b23936a1252ac9df1881acdf75a96a53087a54","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.16.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^16.9.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^4.1.8","globals":"^15.0.0","eslint-plugin-n":"^17.0.0","eslint-plugin-security":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_0.7.1_1780931628695_0.35447048804698156","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"drupal-mcp-connector","version":"0.8.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@0.8.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"d266366e24171a86cfe696a71096cc8e9437881d","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-0.8.0.tgz","fileCount":34,"integrity":"sha512-82zb0eGJegL4pJh9sG+HAO1muyjnVaAs/ZUULTFRbEnkUvTz+/xQ44mPCdDxrGiTzumFDgJDKeJw8M7Fi9LkiA==","signatures":[{"sig":"MEUCIF2CoyA5kJyqhUf4bncSVeQ+OMzb6DHpmoCFKcF0nOKxAiEAgzCFc946wCh8DFUhjsMcwC8z1DHEMVQqPFzXKgD5cPU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":283190},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"9d8864928be1eda28850a69c55afe9734600288b","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.17.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^16.9.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_0.8.0_1781535659393_0.7320788145765851","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"drupal-mcp-connector","version":"0.9.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@0.9.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"4c33de484acf49849709fcafbf0250368fc7431e","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-0.9.0.tgz","fileCount":36,"integrity":"sha512-wjEcH7PeqFtBcwDHHhL63bt2Q/6DhriKynra3adyn+yNGQZzV/YKVEig7NPn9kad3KafVAutzQN1tgaOettFlA==","signatures":[{"sig":"MEUCIQCE1bSyPDjjvku4MjblKWjNkX27zjWzuL0aBM/cEUe3pgIgWpg0gMsWCowdU8IAB4mjkmFcyU9181Y430rTp1cO6RA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":291339},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"2178de886e414721cc19c435168dd3b143b9160e","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.17.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^16.9.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_0.9.0_1781539512380_0.6357350695628614","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"drupal-mcp-connector","version":"0.9.1","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@0.9.1","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"fbc3ca9365efe86d72ab733a06042b6ab6e7aecb","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-0.9.1.tgz","fileCount":36,"integrity":"sha512-f8JC2O1n1V4qXaOVUV/LJt3Ql9C8gdq2yEp6yRXQ9LMIWS22lbgTlNkbF3qycVITv90HFLzsrHfIcrg5ePNStA==","signatures":[{"sig":"MEUCIQCS7+UGeeueUtf9FSqm1vibXc0K6GCXJJulsbMB+R892AIgSi9+/3nvdXgHTytl3Kc2T32dxdUexlcY7IEqzJHf5r0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@0.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":292897},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"aaaf05662808fd35654be1b5e37da2ea0be9f749","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.17.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^16.9.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_0.9.1_1781541151018_0.15740541033415667","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"drupal-mcp-connector","version":"0.10.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@0.10.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"e685c256084ca3fd9c6b4aa52f250b695f13accb","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-0.10.0.tgz","fileCount":47,"integrity":"sha512-70uzFfTH5PCY7XB7WF32s1fPRSRsgLGEYpdPFM266rOeTSTLLMMfBx8IHpzZxJpxS1CZ4dVVFWuJVELrvsC3Qg==","signatures":[{"sig":"MEYCIQCijt2MREsI58GBdUq5npr477gSlXnHl2zSR14siM26VwIhALxCDJ9ywoSrBl2AXBWJY+KoN7zlr0YR8DVf74/GXosY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":379978},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"d55022bc5b62fb5dcabf8dcdc9a5ed292100f6a0","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.17.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^16.9.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_0.10.0_1781546170318_0.2871850823611686","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"drupal-mcp-connector","version":"1.0.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@1.0.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"4d203132c33119a2968f32a32eaa980686c8280f","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-1.0.0.tgz","fileCount":47,"integrity":"sha512-8kGUK+j3thZNH7/dNUUGzFAZS+8VeO5gw8+NDy02LGRASWvgMNbbxe174aT2zr7Jtoj3rlPeJFHCqDopAPFinA==","signatures":[{"sig":"MEUCIACeb/xo+ECwxWjqwe5a6S74UxDADGdd73iTDDkKTwqfAiEAjw7nkxZ5J/z+F1V9bxQKG7ZrdNvj3fOYmWPm5O5Opfw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":380803},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"3bb7b38a93ca0a0b74c93497f184f7297433ecaf","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.17.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^16.9.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_1.0.0_1781546791511_0.8060257872961418","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"drupal-mcp-connector","version":"1.1.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@1.1.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"19281ef35a905e1e6ec194eabc14bef7999ddae7","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-1.1.0.tgz","fileCount":49,"integrity":"sha512-Zj01vsOyEBeJZ3WhRBg0MMxL3aX0e2q7kTjeZihFjbY2xJ0+cHFDD5IHGVDFOoeCNx9kigFXv0gTIe88ukk49g==","signatures":[{"sig":"MEUCIQDJ6xdmG+ACp0NIaYlumQ9iFrZM0zUu0wEyYVtRIKNNQwIgdOyo1e3A8gb8Uqz0kg0Pv08FTQRkDoHImC4Sud3ElFI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":405395},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"e2099e9fb53c5908d4ea202d0f3428dd780c5f47","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.17.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_1.1.0_1782446704642_0.5709679130562526","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"drupal-mcp-connector","version":"1.1.1","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@1.1.1","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"4b4212aba321cd6c06923006ff3c20091911d4ff","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-1.1.1.tgz","fileCount":49,"integrity":"sha512-RJ//sSAWS8ZhWS8wMga9A5DmtcSOMeV73hT8hBrOGsZCUBJEOtYFdfvPhqQ9c1NXQGAxIGAZAMf8veYQVt3Sqg==","signatures":[{"sig":"MEQCIBL6wCCZwxNj/NuTMgbgq/U4Hm8hv06fPZXTtjrJPr54AiBkmY8DkzVG+x/izTP3l1tHQiPP2OFL2qhnxygEeniT8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":405665},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"5600ba0a9ae722c2aedc4932acab6a0df671df25","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.17.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_1.1.1_1782483097479_0.15789478091186782","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"drupal-mcp-connector","version":"1.2.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@1.2.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"619bcb966f3de3a2015cdeef27f925cbd2816846","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-1.2.0.tgz","fileCount":49,"integrity":"sha512-Ql/C5Yzgj50kXkia9OTgPjYSsRgI1G/XMFBeljDQMJSsRf4yhrVti/OyDkFcPQWZMQlBQKxxzSp+6qctYSUwCQ==","signatures":[{"sig":"MEUCIQCmZLm0Wzk2JPMKH5x10agtWl3DHKzPffxy6xOug3c1fwIgUsxUxx0VUK1EYN71VtvAS9te2L/Z2Fm4rjLXFpbNjDM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":410869},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"d92868c556ddb4023307fc92aa6be6abab7be8e5","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.17.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_1.2.0_1782575574281_0.7025373464716282","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"drupal-mcp-connector","version":"1.3.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@1.3.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"f84aa10783858a3b91e4d3e245591237d3833ac5","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-1.3.0.tgz","fileCount":49,"integrity":"sha512-RIyqzX+izxu7FFpebmMmmRfo+sMQwuZijCMZ/S9HQ97s4lRigMRB8XTHaK2tByXCKZN5TK3/5wBi3TW4dUWeaw==","signatures":[{"sig":"MEQCIANF14VBYmss0Cg07VNzwY83i9pudc6EItHuoGDWhLU5AiBx2afFvos7vQ0/n7JAUJJBsjuLENg8haN23ARTcVgj+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414191},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"c501f61b154631bfab8a32a7cff62e96a4cce5cb","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.17.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_1.3.0_1782598271802_0.5030907405375338","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"drupal-mcp-connector","version":"1.3.1","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@1.3.1","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"e3125670ce835369ba80f2efe7a0a53c4e201e05","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-1.3.1.tgz","fileCount":49,"integrity":"sha512-pV8GmNozne0Fkyu9ea45P6TfWwdbMGgK2pfzz1wLnGQuA1wIK0Dz92iIRbuPtARVhBitvu3hsp0b0BHXKiCucA==","signatures":[{"sig":"MEYCIQDHu3lg6eNVED9/Ab7MoRpQSk8wsBNysct/0H/YcrlYCQIhAP2wwJ+gfWXoax+NAXAqDF5j3WeCuQYMCbCVRJAhdlzN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":421889},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"449208ddef96c4c45956ac910c241574ebed455b","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.17.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_1.3.1_1782611702359_0.35385994145490685","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"drupal-mcp-connector","version":"1.3.2","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@1.3.2","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"b53e4cde35f1810a2b6eeb488369aa2bf2289206","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-1.3.2.tgz","fileCount":49,"integrity":"sha512-tprybY+Xp/h8Q4sDcU7WAv0w3dJR0P1xolS4LfqEd3Elsb1HrJfyB/JyIUPy1QLBaj6do8grCxgxJ8eYaKWR3g==","signatures":[{"sig":"MEUCIQCUVitUED3pmg06/XKfwR6wSAi9xj/f0WG5YgBUci7rdAIgNx4KKNlYLs6pQGO4Re7qUiB0dYgQyBS3uPviZ2qgNH8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@1.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":422975},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"cad273aac98ebd752916b44f9da84fddc82ba3d0","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.17.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_1.3.2_1782614809899_0.047602615728178366","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"drupal-mcp-connector","version":"1.4.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@1.4.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"16e6305b35a197d0634a6427821a60f4b9b98b72","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-1.4.0.tgz","fileCount":50,"integrity":"sha512-i0xCP4ycx0cjlfbO/spi74J8NpVuLUgXQ8vi17K1amP9w1H0CvEH4WPB2PKy38ESzLqlwVQNKw08ahYSnnvhfg==","signatures":[{"sig":"MEQCIBVa5lZsWAkTEzC/64pG/uZO+981FnXN0pIG9d1aLrkBAiBukc3RLQxELN1Wkh27/9bympPHw6tjlS8KbM+q8mM98w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":433609},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"93b7bd3a7a0307e9693d167335327d3148a186e1","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.17.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_1.4.0_1782706154741_0.6238519212750362","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"drupal-mcp-connector","version":"1.5.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@1.5.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"728ee1c978d7139b649d15ea5adf3fd44567138a","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-1.5.0.tgz","fileCount":50,"integrity":"sha512-Fgy9eyFZqPHJhCk7wPheIaXE4iFYhUKpHdXyIDKVuZqrkMgdZsQyLZpGmGZQV2o4WNkpyWaJKHYAMiK5uN1O8A==","signatures":[{"sig":"MEYCIQCkrk12umX2pv+l7L5VAGPqifQMRDNO7Vl9TRds90ovIgIhAKvWHJtr7/nQM7aQKyvPRHehU7V0Vu9bxy8RTUnA1nVJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":444612},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"b73afff6c8f2474a7e05ccef3dc6d4cbacc5053d","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.17.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_1.5.0_1782706950401_0.4091415500720992","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"drupal-mcp-connector","version":"1.5.1","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@1.5.1","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"0bead287d8484af07aef5b7431fa8c6165d197fd","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-1.5.1.tgz","fileCount":50,"integrity":"sha512-g22rTbVOn+Bn0JY6DUMXoEXuhsIvMUVrE19hTTKOMIK7ZV44dZKyvCPS2M3DbbN2S1SpEq/0zJxTZQTJcvp5mA==","signatures":[{"sig":"MEUCIQDT+/A24EARJifxuhlPLHf+plD+hUet/OSpVjNXGmzNqwIgTcKN1dMSfMoYbeUCslB6cDSrUDr9LOSmt4J4hv9BIIc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@1.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":455992},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"4057e4f01cd2de16811fa0a9f82a15609f0ca275","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.18.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_1.5.1_1782765076161_0.6924348549781638","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"drupal-mcp-connector","version":"1.6.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@1.6.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"1f93ecf58ecd4b8cb3322d02d6945b287eae8415","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-1.6.0.tgz","fileCount":57,"integrity":"sha512-GEVPOjWUDS3l770CdtXBW8aRK7WtvoT0tL4UqVZdE3SopTZxE9DD/IWSb9XL3RczyFU9PCREka2p9B4Q1Dd3Uw==","signatures":[{"sig":"MEUCIQChnWjF1g+tYQOab8Bmiqftx3lQu5Ahugsc2Rpj6k0QaQIgQ6wk5DFSusuJ6gWH054H73S46+5Y816g+69bsfeTzn8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":569662},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"592e1482289dd636eb97f7aa22cbdc3cdb6abf4d","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.18.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_1.6.0_1782767508602_0.03083917772793865","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"drupal-mcp-connector","version":"1.7.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@1.7.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"e85d8456fe87f592307db53d19e35d14d6df8555","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-1.7.0.tgz","fileCount":180,"integrity":"sha512-IsQ0PBeUQJOEWNiq5dqHcxlPSmF5bSaRTuM2mYhSJRmDOojZZZgGeK8JFTgdU7qiBHYezEejJ1tT4ObfvjxF7w==","signatures":[{"sig":"MEYCIQC4hw9lAEKgZQ+SkGtnCoyWLylXagEDQaJ8oHFOia5GkAIhALyF4dEOtv6YATOVEPH8jZh+apaPd9DEZfkq2dNnBMs8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":714477},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"6329ba55697ca73d559b9dde39fe481593ed7662","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.18.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_1.7.0_1782932719898_0.2904010893936073","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"drupal-mcp-connector","version":"1.8.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@1.8.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"ec9b98725ddb35af3ef0540504a0fb38f3898b58","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-1.8.0.tgz","fileCount":182,"integrity":"sha512-6s8ZnsTT4ODHdNVay3u80PFphkqfPIp2OqDL2lzgMBzISNyxlvwvB50YBfFKTRzjd4hP3CMhjPUdWWfkz8BKug==","signatures":[{"sig":"MEYCIQCkPKi6gfET4Q1IBhFSyKFdnpRgvveKMq8LCh4/h4V5dgIhAO0HRLWrwW2xvCBtWR04yAEwuf0gxuxNCoUYp2/op1ET","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@1.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":744054},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"ab920ec6f191b250aa32eb0545dc4a58c4aa7d86","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.18.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_1.8.0_1784837387467_0.14022143855920044","host":"s3://npm-registry-packages-npm-production"}},"1.8.1":{"name":"drupal-mcp-connector","version":"1.8.1","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@1.8.1","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"e19c38906c004547273ba6d1cd83fed488747cbd","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-1.8.1.tgz","fileCount":182,"integrity":"sha512-DEDLoUCXxo+YfAH1t6Xzrsc3JKiyOx2MXa5GLf+v+eVw3t/S9vqae9DyzxkXcLvJeEl+hB+HXesVlJGV7iShsg==","signatures":[{"sig":"MEUCIGC5J9GvIzaJpGvdp7zAV62moR4J7K49bJmCjucTTdjlAiEA3xCVTx7Sw7Vh9XPC3iYFDcb20qwAydDt2Cv3WmMnNdw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@1.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":744567},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"5a74424a033d127e9823319984ad522435168f5f","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.18.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_1.8.1_1784857478176_0.889091155370566","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"drupal-mcp-connector","version":"2.0.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.0.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"8884267033a6d661f96856c72fb45d81d5bb5640","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.0.0.tgz","fileCount":182,"integrity":"sha512-I84rVGWqH51TmBh09rCoL4IG3qF/tdw2goI9/ohTvAcETjxTnhbp59tCj3RWIB/WdjC60kv5w2edDFNsPfatUw==","signatures":[{"sig":"MEYCIQCWHhKU1aRn32i20JQUfGgViO43WPOvDqpPvjqS5FGoQAIhAOIVpExjRfYbOtplAC6jmpWiyFbsSrP+M59MTTOv2C0K","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":753841},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"903e380741f38905fdcf6bc541c6b631dd4a00d2","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.0.0_1785364777968_0.9694322249838119","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"drupal-mcp-connector","version":"2.1.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.1.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"74cefce98a943d38b6ab2a5a53d971fc1833818d","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.1.0.tgz","fileCount":183,"integrity":"sha512-GLvjk19bPQuUhczEzC7ArSMR0my0kz+BBWb9dyczTwMTJecj3A8LRt66KnnPu9UYqNvIS7CGKuMGtCIjwTsbsA==","signatures":[{"sig":"MEYCIQCuR2UiE0Twi57Z8FeOqjgqhLLBjcoCmSSeRmcjyBkwzwIhAJTS2YZN/Ooo03A+mygdVkE0o1yuRaPZjjd7PS5tKGr7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":773806},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"338f1c6de92ea2291adc4286b8f0b5aba004b7cb","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.1.0_1785463223398_0.09915318187264965","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"drupal-mcp-connector","version":"2.1.1","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.1.1","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"9cc496c83990c0c861873677e08844c7714d67f4","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.1.1.tgz","fileCount":183,"integrity":"sha512-dXkrQy1aFfAlw2P6LgR49yvHjRbDsJDDF2IP7bEk13dQXhXc54ImYo+2dw0a9DTVmfEpzxEgXbBhsbPjOMsLFg==","signatures":[{"sig":"MEYCIQCTsLNMW764NTQRKWZ8IckvPqFXoFdfTAn8bjKlcWOTwgIhAOnYPs3sCYysNJDeTESDEdfGh2wOj8VG9BYZjUS2a1vc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":775821},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"c28493005cbb1012351eb112d5a838fe7cfffb80","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.1.1_1785465502740_0.08594479865143745","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"drupal-mcp-connector","version":"2.2.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.2.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"e415a3068755fb95b95ddcaf2890f42dc3ba26e9","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.2.0.tgz","fileCount":183,"integrity":"sha512-cEgLBkd6H9cCYOg8QSE/ETSFTECDJ+EpG1Wlqz2GG8oz4zMkglXubls4iJDtrzyGrTMCaBO/MIRDUE+FQLHjSg==","signatures":[{"sig":"MEQCIH8xNEHCZZjbl6pwkuztpLquvxzcm0fT3BIcOvO6nnQ4AiBkgnBiWc2BySlHGHon2GBZxidDaGXUZtUWonN88cLICQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":780687},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"fa2bf8528b81c5cd31c31f936a4be1090eae1efe","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.2.0_1785468545075_0.03347299134288284","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"drupal-mcp-connector","version":"2.2.1","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.2.1","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"e152086a51f3e8090d44aafa57d8dbea783cb51e","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.2.1.tgz","fileCount":183,"integrity":"sha512-rua6p1NotM4r/S2yYE5dbAsSkqHqTEV8vg8RE+7Mg6QvazY/vargcwCxTarAUdZzZBO1jUXOz01v5WNzdrdSOQ==","signatures":[{"sig":"MEQCICLu6NKy0Acf0J3oVxX7icDPaHi52ayfzqhUUmFF7AnmAiBuOwaLfnMeiXzp3MxiiBIqn/Qfg6LXmydUPSpnI9wpyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":787481},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"2f37983df0596061cf9bdd4d013055ce6ca85041","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.2.1_1785708216661_0.04693358636309708","host":"s3://npm-registry-packages-npm-production"}},"2.2.2":{"name":"drupal-mcp-connector","version":"2.2.2","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.2.2","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"d6569a89c8c9012ab408c579eba300f83a2e92dd","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.2.2.tgz","fileCount":183,"integrity":"sha512-JBHhs6G7AJqu/SogMxnsApq7ofGLjQnrunKEV9pnjieJLCbrwhzq8lBAsRRwOTOUMQ6qcchExqP7R6kF/Y9I3A==","signatures":[{"sig":"MEYCIQCJtr6D5eYzG32VHKp+6ExhQxis9bip/SPxJroCjSOlLQIhAKXEFNhqzQInIM04VFUqHQHBZC9dOwoLgGfqkRKINt1u","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":788616},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"a09296d404a47e33e879d90145b325fdf9f2303a","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.2.2_1786590814912_0.13033911292523515","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"drupal-mcp-connector","version":"2.3.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.3.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"1cdbf56cf9eae74524182207a66e6c4117fab179","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.3.0.tgz","fileCount":184,"integrity":"sha512-X0t68m7hz5YcCtH3/NGWYR62ZoIlv5YmrokUBNGPrqa1nLAEVFMg8Fs34bD5Wh1KqaVOxxu37+m0SYQQEmVCvg==","signatures":[{"sig":"MEUCIQDyGHJw8lamxLuw/x+03z05sLYSXMlQ0VfQMomQXlF5tAIgcqTefrEvw9bQeuKgV36CCNN79OAJqctmTbOFVsAPG0k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":796852},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"c4bd645ae922512a58b49aedca05a215cf825d77","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.3.0_1786655023813_0.748530499117581","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"drupal-mcp-connector","version":"2.4.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.4.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"a3ec9abf4a502392862484a85deafe3e1b9c737e","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.4.0.tgz","fileCount":187,"integrity":"sha512-e83wJizEZjpbwYcgxqKvhXTDMp//jRyaetxwORfBUxiNryNPySyB4krNAH242GfC49HdVlqrBD158xG6IcgbJg==","signatures":[{"sig":"MEUCIE23ZE2imbG/2q3A2F7wk1EuKnEoBUcdUaFuJelmIDJMAiEAt7weYJQUamKefWGR4vsYm7O+bfsvBo3LjWyaBpJtzJo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":809535},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"5284edf0eeaa452c86d1903c72e57b44136daabe","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.4.0_1786718310682_0.125073835825396","host":"s3://npm-registry-packages-npm-production"}},"2.4.1":{"name":"drupal-mcp-connector","version":"2.4.1","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.4.1","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"4975d2016437d818aff55100309dd7857db023cb","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.4.1.tgz","fileCount":187,"integrity":"sha512-pW6bJKO2wWnhJsmpd+LMlZTQlkTftp51L8SeNKl8tO6pe7bb1APhl45IedE2sH6l3OwtqjgDVjvrP9XXfz+r/A==","signatures":[{"sig":"MEYCIQCSBO7qs88ncGHxfiNDNYYA2HromR/xtpNpLlq4WwfRQgIhAISn1ZEYUzkEIfq6nyqED2vPFvUa46Yg9of6FDVTU0WH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":810772},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"0820d9cfacb93f27d976891d9228bd19587943d8","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.4.1_1786734439126_0.21043534662415464","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"drupal-mcp-connector","version":"2.5.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.5.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"bdc45c66afe218a2138c87278e3de7635e8005f6","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.5.0.tgz","fileCount":187,"integrity":"sha512-8yMpLIQNr1YV/91rVYDFrU6T665w25TvhVulv1qoC4QAfFV8q0fUFMQsVPxrMBfYpBh5x2NnR+dmuG94d8L3pA==","signatures":[{"sig":"MEUCIQCeYhqf8pbevXVU5iAunyQAD2KzLK2T1VlaherJHW7bgQIgIygCdK9naOswbJJjwRCCQVXVXKIEIwftV3nkAAzIK5Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":819907},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"3dd21a46627367c8e969335f6d998a7247313207","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.5.0_1786759071874_0.9657662407899603","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"drupal-mcp-connector","version":"2.6.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.6.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"03c3ef37aac6f148253c1e3ebab73d20349b4a80","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.6.0.tgz","fileCount":189,"integrity":"sha512-CWDJd+UREPy5tZaOqUfLlH4aOSj/5s933+rxF9wOzRyPAnWXBobzxCZ/U67iJjOZqOr5bdPmh2c7zzY3RiBhcw==","signatures":[{"sig":"MEUCIASuuUZbh30l6eMSr0B/vUocn2IV+6OWQRPHMDEjxxs6AiEAxDW7diSoK7WqqCk35rilho4QFciDIq8AqC24Fare6lY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":867616},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"14d3dd09be88a5a46d5f1eb1ce35c271ad29a404","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.6.0_1786826214980_0.918968411454572","host":"s3://npm-registry-packages-npm-production"}},"2.6.1":{"name":"drupal-mcp-connector","version":"2.6.1","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.6.1","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"274ae6da8ec88d72b056935238dc0789de635f07","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.6.1.tgz","fileCount":190,"integrity":"sha512-yns41RC6ytfZeyoQtSrDIC5pY5sPTn1j2KPU0CyvvrqgGCXqNJ2QrlBQqv0L2zsIgCoVEwPcPUCeYgz7XprzZg==","signatures":[{"sig":"MEQCIDosCd92DNwTEWDhHGpWF81PLn0geF1WvwX10n7KgLMNAiBHad3G62qKY0IKJi0Wku6KKAw9ETPJQA8QAVn0jgRI4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":876317},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"7496c559685fb58b59907da567a9d95b2e7a774a","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.6.1_1787006257785_0.7965392859602518","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"drupal-mcp-connector","version":"2.7.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.7.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"cfbda61fc4143b783b3e829736386a6a2e28ecf4","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.7.0.tgz","fileCount":191,"integrity":"sha512-YZ4sm2Pt+zn4zoXNCILb7JWCvLPaKs8kvmqq9KZJVw7Y6hkmyNvPKKxtNHuJGI4fQ0AZT90LlkM/pGu3++k83w==","signatures":[{"sig":"MEQCIQCMzq19Gi/AjKiOgaFUoBiVy0B949iiVOXyaEBtuGv0awIfWp0rSCAS+8+0RgbEZJJtcHAmtohkI0+RRNi8elcg1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":919005},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"0c316be80205795392f0c4c7768f39e3b67850ba","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.7.0_1787009468219_0.6980789034873207","host":"s3://npm-registry-packages-npm-production"}},"2.7.1":{"name":"drupal-mcp-connector","version":"2.7.1","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.7.1","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"a47e4a7e638b1bdfc996c8b5e2446978cb924717","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.7.1.tgz","fileCount":194,"integrity":"sha512-1lZz46THI7xErr+FlskDNsnpgHCYfL0fMdaiin9Ng8WYmV4jFcY11waySrBaJMvUYc6P6E9Yw7HhSFWyyER57g==","signatures":[{"sig":"MEQCIDQJbqzRYKdpdypZ+bnn+FyV5Lr9RPcMle68M25e8izOAiASLUj9k49aeKkFZpHC7XGDKZId3NBp/cT3LqG5xOVjvA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":955299},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"1fbbc936a6e193e358e440bbb431d4831748f1e7","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.7.1_1787014617298_0.06299103151725993","host":"s3://npm-registry-packages-npm-production"}},"2.7.2":{"name":"drupal-mcp-connector","version":"2.7.2","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.7.2","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"1ae1c539fa5eca4c406adad4769cb56833d56340","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.7.2.tgz","fileCount":194,"integrity":"sha512-CSDzeK1C0+0Y/QkhzCbZu2sffFlWu+Xcq/RQTd5G2wfL9vrPcQNmZMIDh16T2xObQhTDpKBSeABiIdC9AMaUZA==","signatures":[{"sig":"MEUCIQCEYI2HerO6gSJT8/bC1x1oMedw1kWFYpdnW5hU+OcymAIgEkV8hpCPgXU8L9Rr25M6oe5iqJVspV/9WtuP4MX+4aY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.7.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":962960},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"9eefa9024244490fd5eeab755f0616340a4928b9","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.7.2_1787017500290_0.03377737702243522","host":"s3://npm-registry-packages-npm-production"}},"2.7.3":{"name":"drupal-mcp-connector","version":"2.7.3","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.7.3","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"b404ad3834ef423f2d87d062ec6d106b346d1627","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.7.3.tgz","fileCount":194,"integrity":"sha512-6nAhwSJXrlS6d25wUSrgl/ku116AMqpHK6XPgRx1mLToz8K84xGLkdenU1A9CnCmSf692i7KchzHoHcdV9LW1g==","signatures":[{"sig":"MEUCIETFkLhz4NBn4NwcfmbcFh2gFTBe7txb4J3TiBrYy9KLAiEA/XUY8JDtf9gPkqmsxkI+dRT+5V7TGoi5pXgIpE1L3Ok=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.7.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":965561},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"95becc3f3e1c4e41f178fec2532bc7f17b0915b3","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.7.3_1787022502680_0.9039532480894394","host":"s3://npm-registry-packages-npm-production"}},"2.7.4":{"name":"drupal-mcp-connector","version":"2.7.4","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.7.4","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"f3af4217c5903206a3b9c8139329d72b64549ac1","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.7.4.tgz","fileCount":195,"integrity":"sha512-2dbJp5Cmpmz/mwERtf4ZGJiUhIZDuZpHKTtoMbLPkn67SyS+y5rw0wi1PXV7AKtfshUxkaodjxF/Mm1q3cePZg==","signatures":[{"sig":"MEUCIQDFu7oxK4bIcSQhQjmMEfmKSY+UbRsA9KBh7hRNKztxgAIgO1otQVOqMZRwMhZYRDUzEsomzzyywrzcbaoND5GZcwc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.7.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1012806},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"4ada8019ea495cc47bf8a3b78dbff8df1e6099da","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.7.4_1787025092143_0.7730780988345396","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"drupal-mcp-connector","version":"2.8.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.8.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"1cbafb2f404a02912bbe4c3db663729b6f1bd125","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.8.0.tgz","fileCount":199,"integrity":"sha512-BzPITVo9sOxYOHzUB1kJ5ZAl4kg77Dk+QgvTZ7ycMK6zf6QPHD+JQ8VXstCacUJgc4qcNz84iQDs/1tR2cUpcQ==","signatures":[{"sig":"MEUCIQDEyvkunH97mETvNba1dRY+0XCW9ZyjDS6AGtLEkOPnIAIgeaAX/F4JeKrwqixTXxixa3nbeDFAoBxA0zgRzhPV+wg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1057115},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"40eee8e287d3e0486d72be0797650ab3c256fc4c","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.8.0_1787692345919_0.6197560543850462","host":"s3://npm-registry-packages-npm-production"}},"2.9.0":{"name":"drupal-mcp-connector","version":"2.9.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.9.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"a7857ae2bc90fcaea95c09467358110ddab89302","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.9.0.tgz","fileCount":210,"integrity":"sha512-SOyGVCs73OpE6DzL/eVerCkoRnpajnBxDRHnSpqzTKC7kyH+QRLhUbNcrwCLTs1xZ238wXzyaSSQakepY9/o5g==","signatures":[{"sig":"MEUCIHmn3WFN5d7dqAish3NE6+OR0rQuDi9mTggUSJIUuvTDAiEA+k+P8xRCWhYuzx3hGBEcQSQ79+f/TIv7QUtZB0t2oBc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1101070},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"7e261ec265875a7367f46fa012bd7fe759ef84fe","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.0","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.9.0_1787766416011_0.4601020738957915","host":"s3://npm-registry-packages-npm-production"}},"2.10.0":{"name":"drupal-mcp-connector","version":"2.10.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.10.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"aae88be1c94060ea40966e0c038701e4a8365ab3","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.10.0.tgz","fileCount":215,"integrity":"sha512-AQkSDz83UXsFFv3Q2WbaNXpyXcejtUOi2LfnRs8H8v+fHfWFJ8rf+ukqXHCJoQTXW/dtJwhUeQKuniZ36JU4FQ==","signatures":[{"sig":"MEUCIFiZbZXNBQIytTUDJlB3FiLUnToJLtbXvlV8GlMYrmihAiEAm+KAGm6cdXFMq3Wo+qT71/Ht8zdYES1d+2G+/3e6zZg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1144847},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"6a040569f2619996149a103078f67f89c3776e9e","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.1","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.10.0_1787851254174_0.5207304789350484","host":"s3://npm-registry-packages-npm-production"}},"2.10.1":{"name":"drupal-mcp-connector","version":"2.10.1","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.10.1","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"f2f9fd8a769afe7dd38cd64597c47cd103b92e7d","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.10.1.tgz","fileCount":215,"integrity":"sha512-EiqKBJRdzO3a2krfYqUOW5k8sjJyOAEwae15E88aJwW5UfHx5pvnuYoLKViGV8uXV/3wnzZvLnZCGQVL8mrEUA==","signatures":[{"sig":"MEYCIQCgaO7HAgTMnvH1iKADe5ENwv36/KJ1Dtpc/yWelYd/mwIhAPsGIKTG0NLwvJ6O+ftQoZ+Rx3CKPQ7yyfF1fEZLT9jY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1147323},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"76cf612dddab8cf368ce1d8306f17941daa4d4a0","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.1","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.10.1_1787949995195_0.11350099372598055","host":"s3://npm-registry-packages-npm-production"}},"2.11.0":{"name":"drupal-mcp-connector","version":"2.11.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.11.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"107631e48793367be81de393b105be19247f76bd","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.11.0.tgz","fileCount":215,"integrity":"sha512-Rp7QdEJHs50YfnLUSuTriQKFis7eSIDgN0WeeYmn2HKJXHZYdF89JMFpz/4q7fo/p16LOnbjl6b+94J5vUeESQ==","signatures":[{"sig":"MEUCIQCjb0la9dJtgCAjuUElHdSl+jrklf+XMYpGfXN52D1RWwIgCeB2DQL9vwWtvELMIQGcCHRKqy4nkQPHotfBldnfd7o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1175644},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"0eb308d39cea093ee47b77aa2d8774a505cc1037","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.1","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.11.0_1788359116622_0.4955283151713976","host":"s3://npm-registry-packages-npm-production"}},"2.12.0":{"name":"drupal-mcp-connector","version":"2.12.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.12.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"d92bd9c9f696fb6e64278f29b63b78c592b0214d","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.12.0.tgz","fileCount":217,"integrity":"sha512-rhBVYPGK5wxjkOKwXvX8CzRn12B3FCMKFXmtPvnEb3YS7SqrK28rDNq4th40Mg2kZRe9tJ9DGENN0CfBZtlUCA==","signatures":[{"sig":"MEYCIQC8C3EM1USrPLEsGpZ8bx8GR4NKbxwONWT1qiI7QRZkPQIhAIhlvVNxQgISah7COCMJAsgNvJE7fpSn4vfb/KEDQAuw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1194291},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"70f75065750b687546b79060958a12889264e722","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.1","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.12.0_1788369597389_0.09706363591635392","host":"s3://npm-registry-packages-npm-production"}},"2.13.0":{"name":"drupal-mcp-connector","version":"2.13.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.13.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"7a1f871b844ca60f3200dbf128eb2ecda191e85c","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.13.0.tgz","fileCount":218,"integrity":"sha512-lnIOsmQJsctPoRuCACKDVKoxQ0wWWcUrBsKTReHPUHkZhH81KK+d8ZzqVpoaNV35H/+Y3EflZxKztgR4DKzmZg==","signatures":[{"sig":"MEUCIAF87I6V00J56aWhJQMW+qnq9lEYqyJ1bEJSiAm4Cc4EAiEAzr5Kxn1pNppS+2YkCISQRTqrtcGS09vcqYqExjYsPSo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1232789},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"b1c14956a4090fda90a22f74a1873eb29ead9115","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.1","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.13.0_1788396012691_0.1777893068214571","host":"s3://npm-registry-packages-npm-production"}},"2.13.1":{"name":"drupal-mcp-connector","version":"2.13.1","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.13.1","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"e61e942dd43f4ccccfc2770d4e3b4e94731bb3ce","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.13.1.tgz","fileCount":219,"integrity":"sha512-KLmB2uwVhCNHrjcWxZQaN186qDHDtfjve+s2a7vx2BT4JR1LIW71Aoo8VpereK7e7l6JPGECcPUdzpWfx7d5fA==","signatures":[{"sig":"MEUCICzvoiw58Uth2NXEcDXzt+kEls9yDK1TpSdFA2VAtGrlAiEA7W9UO4Jp+TGdndc0CLyPF0iLNlR+lrD/yJZL64F0om4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDL82FdH87E4yKHMnYNlphoGRtzXbSliBPErzEcfVwo8gIhAJENrOa2JKjPFx5Zi+pnQ/jBgNTgFw4AqcIqf+fQKv6M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.13.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1237094},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"6a17d23f942f4becb5daa280b6329a5119768167","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.1","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.13.1_1788639796352_0.32443301198174357","host":"s3://npm-registry-packages-npm-production"}},"2.14.0":{"name":"drupal-mcp-connector","version":"2.14.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://wilkesliberty.com","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.14.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-anchor":"bin/drupal-mcp-anchor.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"d36036b9d9b5f87e7a8bd6a467ac1ffee457ae69","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.14.0.tgz","fileCount":222,"integrity":"sha512-j4ID+xLAb9pGriOfqaDQkvYFmKF9wiUPZpbRo3lpMehBe6M97/lWTu4XC3X2ApjycR1aLEHSnkuuMW50thYHoQ==","signatures":[{"sig":"MEUCIQC38BOzaOiyBREPeF9khrtGleN2tnwB7wG1/tg+haFFvAIgB7EKPyCu1sSPBOVPtVxdQ5lbeN/LHneH3TO4sVWObAA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFwgKK534sbUiffEGcJyJWiExWVfGsF/YttXT5g4vLD8AiApSxASK89JHDebMpqHlcb5bRJCYZcWzXCKvEJbY8ZNiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1296144},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"e2d7a740d58d2029540d85859d62b3e9c6c678bf","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.1","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^4.1.8","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.14.0_1788753573111_0.39207015879120943","host":"s3://npm-registry-packages-npm-production"}},"2.14.1":{"name":"drupal-mcp-connector","version":"2.14.1","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://www.drupal.org/u/jmcerda","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.14.1","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-anchor":"bin/drupal-mcp-anchor.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"494e0b977b43103884ab41a1dada29906599ac0b","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.14.1.tgz","fileCount":222,"integrity":"sha512-hEyRIotNPpyOYHiQWERcABnEL5PHpX+N6eeS4dws4QBi1deWzV6Up/CoRT5zq99uyxFX7p05XM0CkQmFtxTESw==","signatures":[{"sig":"MEYCIQDpk05rZ9S7kfTmMMJisqklZ/q18G0kCD9iweNb8zHo3wIhAO7wq/gLsSl5fcxyVHZ8EpUHoasDxGumiEHIoIdypmHz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDBsxX+JbbIcipBZuIT/JBW/oBUPzbcIfUOMUJj+9LIfAIhANpEoeN/Icmv0uELYwkh9pQqDM0XuYSTcAZrzL/UAU5c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.14.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1296746},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"96298c602b0ef08c04e7e3c266cc54632b5ee364","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.1","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^5.0.0","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.14.1_1788983322258_0.22864358299249954","host":"s3://npm-registry-packages-npm-production"}},"2.14.2":{"name":"drupal-mcp-connector","version":"2.14.2","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://www.drupal.org/u/jmcerda","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.14.2","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-anchor":"bin/drupal-mcp-anchor.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"69a5b906986dd10f8dbfead866d671d079c169d1","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.14.2.tgz","fileCount":222,"integrity":"sha512-E04p/Ny2tjqmZcf31K4gZ1sPFpWbBPSru+waX/iHbzrXjh+8EJsqdS8Oo5gHXclJkzSbJ6r2WmM6PRCmf9CeqA==","signatures":[{"sig":"MEUCIE6C/Y63eIPXAArJ9wjXQ2z6vFzHJxJZKuMo/RSbwm6VAiEA2+JKEC+cc8sB6bs+74gnnlLHTpovKEBiexwDcNcPHP0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQChIVVQM7Sg2cFfrnND2lgjLzlsGTaNTXD4WPgoujCOTAIgLLHcqAQEmbuxOoxYI8rAiuoKurgjFEjuNIcugScE/wQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.14.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1311855},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"78e9d7367c4ec6734eec55d6e5cc6df4de5ad1b1","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.1","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^5.0.0","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.14.2_1789055910166_0.6592167413853871","host":"s3://npm-registry-packages-npm-production"}},"2.15.0":{"name":"drupal-mcp-connector","version":"2.15.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://www.drupal.org/u/jmcerda","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.15.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-anchor":"bin/drupal-mcp-anchor.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"36d3c2c6104b7b351d47fcf11ca3743fed921a71","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.15.0.tgz","fileCount":223,"integrity":"sha512-SyKqi7zrDVKkrTJp2D0jHAs2/0ruXYLy7GlY8xlB9WyANoVOrIZYZhRfXiSem1eGolDZ+/R+g6JITHdsaAGy5Q==","signatures":[{"sig":"MEQCIEGsk0O7Ib/pIVB41sTio8NlhEhqirm2HKJ+xTZLWn7IAiBxNuIo1iAbdohH6oXMblH9CVnkXUbD2f0WPc3N2eBvGg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICrEbf3rn4AyxTxUsp3QOS84uzjD+EF6nbiOrG5f7l96AiEA0KGw05/MLfv/WUhkegc+v4ma0GvnTZKRsCDZbj9wDMU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1348296},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"22a464a255c78c55c14e51251b7c6d639bd86d1a","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.1","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^5.0.0","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.15.0_1789072383769_0.3353621192976668","host":"s3://npm-registry-packages-npm-production"}},"2.15.1":{"name":"drupal-mcp-connector","version":"2.15.1","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://www.drupal.org/u/jmcerda","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.15.1","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-anchor":"bin/drupal-mcp-anchor.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"025275f33a656247a6e21af4dc76842ef269f0cc","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.15.1.tgz","fileCount":223,"integrity":"sha512-RVTP6DQMMQJ+Rh4zGDvplhkBRIHmVRxVsBi2cNpPJ84kf7y3wglrk/H+bVyCo8hKbNQX+mncwAv4PxN2cTNSnQ==","signatures":[{"sig":"MEQCIHm7QvwgjCUwn7bp2nCMmzDeRLuBQlTwbMxrCJD/YBWcAiAHeCqNcA34dOtaHTt/BPPrB2QQUF+VloZTKD6FRbUR8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDxHlbHqJmhI1ohm0cFzSvYvqBmYn2xwOq/MLloHmtgNQIhAI8fCDYdIXEFCjWoFkTK/5iL5PWXBDizAzBhmUGszv7w","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.15.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1356476},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"621e7bf0a3e8c30e2a7b8ab658d78b6d95f16b26","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.1","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL access, governed draft translations, content tools, audit reports, and an SSH Drush bridge.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^5.0.0","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.15.1_1789090058446_0.5636526910658861","host":"s3://npm-registry-packages-npm-production"}},"2.15.2":{"name":"drupal-mcp-connector","version":"2.15.2","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://www.drupal.org/u/jmcerda","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.15.2","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-anchor":"bin/drupal-mcp-anchor.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"02574b3e758bbd6dc8b87e901bc38cb4dd3384e7","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.15.2.tgz","fileCount":224,"integrity":"sha512-N4RhshXIsBHOsjHTa82ZT4dn6211vzabZu6ZMdQNzrzC91z5bxeb+cq8E0zduffpGb78Kuw9IwoKgAxyREmK3g==","signatures":[{"sig":"MEQCICKI1crTXJ/lite4b7RFjb//+0TU9U3HNKdwJGVLNoBgAiAHwplTwIaZUewtje+5iZyD0MOQEWa+MvAWmn7t7cpCTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCH3aeehq2Qipk3PjmZbDdjQgbccW9LUxPWdkYse1YkIgCIQDcEF4iq2ODh67ByLO5LZqOnRrfZ5Cp6MjL3fegAtLjJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.15.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1363289},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"6f117e0a372a44296d9ead99a836a22e80fd3aa4","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.1","description":"A secure, multi-site Model Context Protocol (MCP) connector for Drupal — dual-protocol JSON:API and GraphQL access, governed draft translations, content tools, audit reports, and an SSH Drush bridge.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^5.0.0","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.15.2_1789137180509_0.2814619614322533","host":"s3://npm-registry-packages-npm-production"}},"2.16.0":{"name":"drupal-mcp-connector","version":"2.16.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://www.drupal.org/u/jmcerda","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.16.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-anchor":"bin/drupal-mcp-anchor.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"28ea4e4b64d709e98c17515dfadb7318c7f047c7","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.16.0.tgz","fileCount":229,"integrity":"sha512-K9N7go9OML6zPbKR5zGW+MXZSelNSTYFQkKPT/UfARvvNauR5wXuAnE+rbthmqSQ1tph5hntQcMKYpbF0AyhRA==","signatures":[{"sig":"MEUCIQC8poImJ6bJztStWnI0qDUmVw6190tEdWg3z8wmHwVvQAIgP8YrEqHO1H9dWD3pRKXhiKoopwFskOZ7KdGXssuzNt0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDQLXZwzjZP6kGSXDubCHwIIrPGVcLswxIVScApVOx6nQIgIhlJbcE7qQPigPGR6dVGsLnHSbX70MZVF7OVDmbxAPc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1395441},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"d0d081de44517524f27f61e444d975afdae90ae9","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.1","description":"Drupal MCP Connector — multi-site MCP server for Drupal with JSON:API and GraphQL, governed writes, draft translations, content tools, audit reports, and an SSH Drush bridge.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^5.0.0","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.16.0_1789154011766_0.9414131004396951","host":"s3://npm-registry-packages-npm-production"}},"2.17.0":{"name":"drupal-mcp-connector","version":"2.17.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://www.drupal.org/u/jmcerda","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.17.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-anchor":"bin/drupal-mcp-anchor.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"29c23af139a070b41b776923cf11863188f8d0c6","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.17.0.tgz","fileCount":229,"integrity":"sha512-fOLHExAydwdHqOOVPjiWFPJ6Pbi7Q5to/PW/XzlF8HKQQZ2gBnjhGc9J2M59h/5oO70ZfoIQuEVT4E48Fh2xSQ==","signatures":[{"sig":"MEQCIE1rbRa3HYtqhF4zf4D3Kx+xkezeqkm/O1R9gPd4cPrbAiBitHU9qTCKM+UUz8PWCcYyVvrLXMR5LwFbZLACXKie5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIC3bPHXsBBKmBdC4eh/K01rLJWBce3oMlTI7CSRr8Du4AiB/EyXXEwnfm4fkOsAqlQ1sSTvCXhBoggMGU9ibqTsJzQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1402597},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"18c19bbc1f9f17aac739d23018d5921bd6c35b9c","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"hono":"^4.13.5","postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.1","description":"Drupal MCP Connector — multi-site MCP server for Drupal with JSON:API and GraphQL, governed writes, draft translations, content tools, audit reports, and an SSH Drush bridge.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^5.0.0","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.17.0_1789181411091_0.526023444856565","host":"s3://npm-registry-packages-npm-production"}},"2.18.0":{"name":"drupal-mcp-connector","version":"2.18.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://www.drupal.org/u/jmcerda","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.18.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-anchor":"bin/drupal-mcp-anchor.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"adaa0affc24f15695de47631f240a681c8f93f2d","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.18.0.tgz","fileCount":231,"integrity":"sha512-5b/XV4kBBUkTnzqHUc9uwq3XxKqr6R/LTRYRCyAE3OuJ6V+SPS1ysBZ3ZgGSUQUDXCeefLpWxby1yDEeAKWjOA==","signatures":[{"sig":"MEYCIQCNHN7dsThnWg6Za/qyo7H6wKFplNiDcEMvpSCRyQSU4gIhALf+bb7V54vcb+1aKycRXhVXIJ4kVVeziADJQe8uc8yZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAy3JRWGhNAq39erNU1yrM1y8jp7tZJa0Zc8YaTT7kVoAiBKTb32bY35HRkkR8U7QO6a2Ve48jUFH12jzWJYmDW6Fg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1423315},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"12a90f7f583aed3cae8be1aa7d1f588167e93941","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"hono":"^4.13.5","postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.1","description":"Drupal MCP Connector — multi-site MCP server for Drupal with JSON:API and GraphQL, governed writes, draft translations, content tools, audit reports, and an SSH Drush bridge.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ajv":"^8.20.0","jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","ajv-formats":"^3.0.1","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^5.0.0","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.18.0_1789595504876_0.4433785179110423","host":"s3://npm-registry-packages-npm-production"}},"2.19.0":{"name":"drupal-mcp-connector","version":"2.19.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://www.drupal.org/u/jmcerda","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.19.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-anchor":"bin/drupal-mcp-anchor.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"8fb8aa752359b194633cb4ec5a95dde4fb7675ec","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.19.0.tgz","fileCount":231,"integrity":"sha512-g1Mdiz+9C1gS4jsAhI5Nzkmu9rWSnPI6bG6aGqesdyTk9IZZMbGqJFWVsL/Vop/YqlNPBk1jMe/H0yzEjGM3gA==","signatures":[{"sig":"MEUCIQCz7NLs4M6VvaYBCbhs5u5RzRQlX4PznwUgtiipNjekhgIgdmLC/mp+mtYAGV54GrXr31jvk6vPiWtAHRqFDK1GaMg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBUAv8af3Sm6bzQFMcNB8kuvCUGJ+HIXZzi3iXF4mWqzAiEAgTEnXl4pHEaXCE7KrXgBflyeSfsn4rWbe3L7yRwTVyE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1425601},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"17df4126b959c4ee8eeb76e4a2e00a3e409c517d","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"hono":"^4.13.5","postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.1","description":"Drupal MCP Connector — multi-site MCP server for Drupal with JSON:API and GraphQL, governed writes, draft translations, content tools, audit reports, and an SSH Drush bridge.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ajv":"^8.20.0","jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","ajv-formats":"^3.0.1","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^5.0.0","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.19.0_1789606441190_0.8908206160651344","host":"s3://npm-registry-packages-npm-production"}},"2.19.1":{"name":"drupal-mcp-connector","version":"2.19.1","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://www.drupal.org/u/jmcerda","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.19.1","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-anchor":"bin/drupal-mcp-anchor.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"85d1025e62b59cd0b6f89fd55542035dbd2bd5ef","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.19.1.tgz","fileCount":229,"integrity":"sha512-TQoRGeAEAnA4vETMwvGkL83/4skSj4O/etmMGNHakvk6VK2ynFUJRmLt5U2eyqvfoZO3d5kqRhF7B7SMCeAm7g==","signatures":[{"sig":"MEQCIDacfthhytRCsg/c0eYtCPtiBba8Zqsn8LljRIQ2FW+RAiAvrZatFxwHu0dDEJW0er+l3e0O7AUUMQiFJboTKBzFkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCDWxyfbNIIILkezjhnliEjH8g8i2sDAYKg0vcE+w0A/gIhAPG5tU3l/ftBUtRBqLSc0+qIV4mutevtZmhQI8nDuE9S","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.19.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1424263},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"121a19b20e11dfa00d4bb06f869d375d531e9468","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"hono":"^4.13.5","postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.1","description":"Drupal MCP Connector — multi-site MCP server for Drupal with JSON:API and GraphQL, governed writes, draft translations, content tools, audit reports, and an SSH Drush bridge.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ajv":"^8.20.0","jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","ajv-formats":"^3.0.1","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^5.0.0","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.19.1_1789697412561_0.34210993208322016","host":"s3://npm-registry-packages-npm-production"}},"2.20.0":{"name":"drupal-mcp-connector","version":"2.20.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://www.drupal.org/u/jmcerda","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.20.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-anchor":"bin/drupal-mcp-anchor.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"bf360870aa02a65bf7948d5ac749c715400687d2","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.20.0.tgz","fileCount":232,"integrity":"sha512-d41Cd2w96fTO4aJxHOk4ump3h1mS9Efi7QGpXx8Tmowf1WNIaWDi75AA4I9AmXn4rfKU/UTC+0dvpYPUyghvZA==","signatures":[{"sig":"MEYCIQDbf4z+xqyTLqNKbqoUyDpKxXV9jLqyXDxpdVLD5qc3HgIhAIzMzk3hZlI2PGzS7a1tBSymOG+3u0fHITji7kfvQSxN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDrOrr2ukBE03b7KEnonwx1HKPCE9pdRGDYK7lyW1Pz3wIgdXruV/KVCctJikuTjjxDSpIVs7d+80lkIKG8xLvybXQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1556389},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"3a40c8e26f80be20def782eb13de1e5d8c07cea2","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"hono":"^4.13.5","postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.1","description":"Drupal MCP Connector — multi-site MCP server for Drupal with JSON:API and GraphQL, governed writes, draft translations, content tools, audit reports, and an SSH Drush bridge.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ajv":"^8.20.0","jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","ajv-formats":"^3.0.1","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^5.0.0","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.20.0_1789827349438_0.20572929045538868","host":"s3://npm-registry-packages-npm-production"}},"2.21.0":{"name":"drupal-mcp-connector","version":"2.21.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://www.drupal.org/u/jmcerda","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.21.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-anchor":"bin/drupal-mcp-anchor.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"0cf7b2cd8d6b02865027c7b390f7c69bc56fdbc5","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.21.0.tgz","fileCount":234,"integrity":"sha512-gqpowS389+/Q6RPnrbPyN8UUhzEjayFt+//jnjyP8av56v6gRLryqK6XI5BuAUvCDWgAxeLeZFyvOJ2Lta3xFA==","signatures":[{"sig":"MEQCIBAt88aiLlxejZpJnjI1phX5vV4qpgPVu6lue16gVwsYAiAvRD8uzMLOBatQVw4SQMt2MyTb46Bz5+07LFl0/2iH6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAPLq1hqd9e3JC2R1R8V1KtOmVRQuzhIhjSAgMDRRfDAAiBT92Re/otErA/+s4N9b0gqNBvK6rBzV94kbO3g6NJF7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1577499},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"dbf5a1b2d1f0eda3980feac473fdd0f2f7f25ce5","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"hono":"^4.13.5","postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.1","description":"Drupal MCP Connector — multi-site MCP server for Drupal with JSON:API and GraphQL, governed writes, draft translations, content tools, audit reports, and an SSH Drush bridge.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ajv":"^8.20.0","jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","ajv-formats":"^3.0.1","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^5.0.0","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.21.0_1789864135591_0.6951962596096266","host":"s3://npm-registry-packages-npm-production"}},"2.22.0":{"name":"drupal-mcp-connector","version":"2.22.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://www.drupal.org/u/jmcerda","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.22.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-anchor":"bin/drupal-mcp-anchor.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"5c4ac4637686cd789c7814ce712805805895540e","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.22.0.tgz","fileCount":234,"integrity":"sha512-JkOGRgmu2PGZ025Rvd9l6/J2RnywZXF9XCy5vbrmZo2vvwtwNFF/+RXZBj+Y6SVfLYdhFi3NJKYy9eVHuuxCvg==","signatures":[{"sig":"MEUCICZU1MBstOj4fxkCLGmj+D2AjJ5L/3MYTrrcud3hJxxEAiEArO9R97xVWtJsiBSKro9zgWSE6FEKHJ1BLfK4aJdteJk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIA230CvfGuqHd5ecyi4dg9bW4sLZpq0q5fDc6wi3A/GQAiBw5jmdXfUeVPqGOR3/ePo+klJ6k9bcp8O6CptIlMCt6A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.22.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1585735},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"e122c109ad835661c17c564b1587205f4a2ef2f9","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"hono":"^4.13.5","postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.19.1","description":"Drupal MCP Connector — multi-site MCP server for Drupal with JSON:API and GraphQL, governed writes, draft translations, content tools, audit reports, and an SSH Drush bridge.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ajv":"^8.20.0","jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","ajv-formats":"^3.0.1","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^5.0.0","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.22.0_1789926911894_0.8897962885244206","host":"s3://npm-registry-packages-npm-production"}},"2.23.0":{"name":"drupal-mcp-connector","version":"2.23.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://www.drupal.org/u/jmcerda","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.23.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-anchor":"bin/drupal-mcp-anchor.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"eee072fa6e37afb592e2a2985fb620dee947a836","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.23.0.tgz","fileCount":234,"integrity":"sha512-8xJ4Inn6QazzZIullz6KGTJEuC9ZYsmIUZqTe4FBoR4q3WpIJqo9E32emSPokObVoZgCSOyAT66mP6ifgrnZEA==","signatures":[{"sig":"MEYCIQDso3r0Nw9NSVWoiOXK3V9m9d7QculN50I9Ef4P9G5iFAIhAP+xJDJrz+86d97PYM4NNKWfVNKQzWH8kslR6mHAMnxu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFaBPV3ks08HcwxRH2lSHYqaWt4X8VDSb5qK/+ZjpXV7AiAaczLhvMp1QbW71+aizO0frm3BYjIiFsmCwh/0/99hDw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.23.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1596028},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"2f3bfb421225c7d2edd4d3ca6fb10701c218cc53","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"hono":"^4.13.5","postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.20.0","description":"Drupal MCP Connector — multi-site MCP server for Drupal with JSON:API and GraphQL, governed writes, draft translations, content tools, audit reports, and an SSH Drush bridge.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ajv":"^8.20.0","jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","ajv-formats":"^3.0.1","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^5.0.0","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.23.0_1790202750331_0.8250624920382605","host":"s3://npm-registry-packages-npm-production"}},"2.23.1":{"name":"drupal-mcp-connector","version":"2.23.1","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://www.drupal.org/u/jmcerda","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.23.1","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-anchor":"bin/drupal-mcp-anchor.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"015ea8a06ac6dddebb987d77ada9a2035931716e","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.23.1.tgz","fileCount":234,"integrity":"sha512-xP4hx12iWBwTwp5WHk4U3vS7Ix85jCbuzv3svqd6pQo6x/j3k3UPn1u6vMcN4kiElMKRjm/3heNm5LhxjQo0IA==","signatures":[{"sig":"MEUCIBd3iZGrhd0ovxKrbc0D8jtywLBzWfY9NnOAxjsiWbQfAiEA3oaBYxrAMb9+iE3u6IKVcvpy+eOmFKB7sgsCkFGidjw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIF3UgeXhD2kGG5L5jHXQo7T9z9aUr5yIqx2P0cN4EpOpAiAdg3HBILSiYbDb40GXN3WKgaDFG49dofYcpqoCLz2neA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.23.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1602653},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"140c43de166fef0e8e6d034fbd23ee623cf8cdfe","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"hono":"^4.13.5","postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.20.0","description":"Drupal MCP Connector — multi-site MCP server for Drupal with JSON:API and GraphQL, governed writes, draft translations, content tools, audit reports, and an SSH Drush bridge.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ajv":"^8.20.0","jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","ajv-formats":"^3.0.1","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^5.0.0","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.23.1_1790222465956_0.3604992485596856","host":"s3://npm-registry-packages-npm-production"}},"2.23.2":{"name":"drupal-mcp-connector","version":"2.23.2","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://www.drupal.org/u/jmcerda","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.23.2","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-anchor":"bin/drupal-mcp-anchor.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"4571aa2a4da20401b34c056e45783d7af23edd38","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.23.2.tgz","fileCount":234,"integrity":"sha512-q9FtFOPYab7eumBjS7J5fp6yDDRyLPRfl9wSTOcwy5i9ACU0GT7U1MoPxao+SSAeH6km7Eg0TWrKpJ7u13rNDA==","signatures":[{"sig":"MEYCIQDM5/9cYc4U8yBYERDcoyGF44vZnTFIXxmy/QnQtKehDgIhAPT7jYxRc08Js4I7PdUUtFT3pK31/+Tow6axe4UCyDnr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC+/2diZfGiuxTli0yHHztdPaaEGUrV0sRAoQU6Jc9igwIgZHQluWLRdkExpU5m8qvjCZ8GSpxWtQbwMhizs+ktPDA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.23.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1603884},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"4e223c9bd9b2a57ac1b5efacd1e58a9a41c9f4e1","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"hono":"^4.13.5","postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.20.0","description":"Drupal MCP Connector — multi-site MCP server for Drupal with JSON:API and GraphQL, governed writes, draft translations, content tools, audit reports, and an SSH Drush bridge.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ajv":"^8.20.0","jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","ajv-formats":"^3.0.1","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^5.0.0","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.23.2_1790621333808_0.4928548320688042","host":"s3://npm-registry-packages-npm-production"}},"2.23.3":{"name":"drupal-mcp-connector","version":"2.23.3","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://www.drupal.org/u/jmcerda","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.23.3","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-anchor":"bin/drupal-mcp-anchor.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"57a78504cb97315da999b7dff4868613c651adc5","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.23.3.tgz","fileCount":234,"integrity":"sha512-MgSV2C6r7VbnPUjJT19Bjkt5SyiXtDfbVwWcPBVGUtPYhujbtu7whs07eDd0Mf+OLTGB+wvXJ/1j3cEqCmXOMQ==","signatures":[{"sig":"MEQCIEnlVv0Y4FD/Yqu08L2sq5gH5XX/+cJ+va2msHjlAiVuAiA3PKBbJufXKyXNwbn1y/zajFggsg7G3Pyni00nKIRz4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCDRX5yI5bsV5Q2S8pVMaJ+uK2N2+e0YfNB8qYsRhCFTgIgLM7F8u9uYcI5iS0//OyW4PDc1u/WE6oyZysN4XukzkQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.23.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1608340},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"33c66132d60924a7c4e11d324bcf58c8958c9791","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"hono":"^4.13.5","postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.20.0","description":"Drupal MCP Connector — multi-site MCP server for Drupal with JSON:API and GraphQL, governed writes, draft translations, content tools, audit reports, and an SSH Drush bridge.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ajv":"^8.20.0","jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","ajv-formats":"^3.0.1","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^5.0.0","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.23.3_1790626750195_0.03973352994728163","host":"s3://npm-registry-packages-npm-production"}},"2.24.0":{"name":"drupal-mcp-connector","version":"2.24.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://www.drupal.org/u/jmcerda","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.24.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-anchor":"bin/drupal-mcp-anchor.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"47f1fc699f3fd062887041fb848f062fffab7e91","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.24.0.tgz","fileCount":234,"integrity":"sha512-JzYl1jFII7IEWhnvRlyfAcYH3gucOIP2jpk3u9t4lo1WKuXyhlxCU5hKYrhm4FBgOYgjfy3qBzJpVxOIL66Vcg==","signatures":[{"sig":"MEYCIQD8jdflCW3OTB+6PyU2vSfNGdW2/79gtDCmuTCPCPlH9wIhAId8HuTsaImdd9dtuHmhiuYKB+A5LgoGqvMR/A1Jp+2C","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCdyBcaKhEXHIMlVxecvmrjxsNlXZ/7NtlZAXiF48VGegIgNDNHHXfzh4irJbO77jPgsjufh0oB7jkZIhgFGnlje68=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.24.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1617108},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"27633708dcd69256645d00493aeeee415c7c2e7b","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"hono":"^4.13.5","postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.20.0","description":"Drupal MCP Connector — multi-site MCP server for Drupal with JSON:API and GraphQL, governed writes, draft translations, content tools, audit reports, and an SSH Drush bridge.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ajv":"^8.20.0","jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","ajv-formats":"^3.0.1","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^5.0.0","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.24.0_1790660476813_0.9405398528848754","host":"s3://npm-registry-packages-npm-production"}},"2.24.1":{"name":"drupal-mcp-connector","version":"2.24.1","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://www.drupal.org/u/jmcerda","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.24.1","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-anchor":"bin/drupal-mcp-anchor.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"947fea830b474f25452fa70c898303cbc16b28b4","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.24.1.tgz","fileCount":234,"integrity":"sha512-GWloba6v/WsaOHl2IQw7jfKxUB8GvAHR772LFgFo6eN2NAZdW4eKc/gVjOY6jnhNnDmpD/5Rg6BH8H0F/VIZEQ==","signatures":[{"sig":"MEUCIEdQLB/e9XNsn3spwYoF0NsB7c7iIhGmfBW9abl4oh8RAiEAn+9URQsNQ7BWrtD5g571RHJAJmRj8wjsrAdvtXnxcx4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDO+ZawsrzkPCum2K4CBjCmkTwa3x+fBMTarYdYs/DGewIgcWvL76LY2eU5J9awmrwVMgOwaddNCNwlqDmi1mzGVMg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.24.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1615184},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"48922624014f6236a26d1c4bcc8c4877b2adb2f2","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"hono":"^4.13.5","postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.20.0","description":"Drupal MCP Connector — multi-site MCP server for Drupal with JSON:API and GraphQL, governed writes, draft translations, content tools, audit reports, and an SSH Drush bridge.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ajv":"^8.20.0","jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","ajv-formats":"^3.0.1","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^5.0.0","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.24.1_1790698459508_0.10042448240832935","host":"s3://npm-registry-packages-npm-production"}},"2.24.2":{"name":"drupal-mcp-connector","version":"2.24.2","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://www.drupal.org/u/jmcerda","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.24.2","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-anchor":"bin/drupal-mcp-anchor.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"f68720ae044cf4b9e3c088e30ff2eec9289b51f2","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.24.2.tgz","fileCount":234,"integrity":"sha512-qfuLqtsMmaiW1eTPTQZS2Dlnl3xuZmwrzyFVgFra0JTIjJ3c9WyD9NMSs6H8Ix04tXWB8anfHT7Igo24SU/9CQ==","signatures":[{"sig":"MEUCIB4GZWi9TEPV+08kMUWoJXMwzH12unJcxXP0MEXIX7CwAiEAwjC9oLEPbkXvA/8LKgVYwtvE9d+SAznZwDP1RKOr4dY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDSVU4vcQPLNTPxwPJnsPzacH73bR+Bxp2j7xrP+gM+FAIgJGpgSV8rADT8tqN0p/tU7Xlkj3LnK25S1Gn8rLGquBY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.24.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1615648},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"cb558249d8fb5033a32b5c6000167c394b303f1c","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"hono":"^4.13.5","postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.20.0","description":"Drupal MCP Connector — multi-site MCP server for Drupal with JSON:API and GraphQL, governed writes, draft translations, content tools, audit reports, and an SSH Drush bridge.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ajv":"^8.20.0","jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","ajv-formats":"^3.0.1","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^5.0.0","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.24.2_1790783148147_0.6085367925812557","host":"s3://npm-registry-packages-npm-production"}},"2.25.0":{"name":"drupal-mcp-connector","version":"2.25.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://www.drupal.org/u/jmcerda","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.25.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-anchor":"bin/drupal-mcp-anchor.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"74e8390ca2dd575a20f27609d310bd42c3173a9c","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.25.0.tgz","fileCount":234,"integrity":"sha512-DFg/181aWTxGSHlfmHH9SAi9jjkX97Vcv/bRdGT/bISxIyJ2NF81Btf94jDpJhv0hoQchSySTlnmxpcVg+Ao3w==","signatures":[{"sig":"MEUCIQDGpX4fEP9vSyqOt+vO1Yt/XgkcbI71RcaU2e6o+Zmr7AIgOCd3ut/TnCaEXDZzy9WD8pyXa/+dBqB/btS08qRu1sc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQClKT3R4RGLWKqBkYYV3hklc03yCTBE8vtDUSceVNjYgwIhAMBTl4Ib763xIAcRh9ZYjk4/F2iDc106ytTTFVDQGzBe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.25.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1619900},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"d022794b5c43ea707fb4581278fb8b388e8023f4","scripts":{"lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","verify":"node bin/drupal-mcp-verify.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"for f in src/lib/*.js src/tools/*.js src/index.js; do node --input-type=module --check < $f && echo \"$f ✓\"; done","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"hono":"^4.13.5","postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.21.0","description":"Drupal MCP Connector — multi-site MCP server for Drupal with JSON:API and GraphQL, governed writes, draft translations, content tools, audit reports, and an SSH Drush bridge.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ajv":"^8.20.0","jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","ajv-formats":"^3.0.1","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^5.0.0","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.25.0_1790833831304_0.349379676177046","host":"s3://npm-registry-packages-npm-production"}},"2.26.0":{"name":"drupal-mcp-connector","version":"2.26.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://www.drupal.org/u/jmcerda","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@2.26.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-anchor":"bin/drupal-mcp-anchor.js","drupal-mcp-doctor":"bin/drupal-mcp-doctor.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-wizard":"bin/drupal-mcp-wizard.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"ce91688068e479a049609a4f3a53ba3d0e9a20c0","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-2.26.0.tgz","fileCount":240,"integrity":"sha512-WhyGpRWe2CpyOF8+yRClCec6/gP2ZJ+mncoM0xV80F0KoQ+90T71gsHS0LmEXiKSDawwr/LXJzBfleco9mj0VQ==","signatures":[{"sig":"MEYCIQC2fYuajzK1Za+b16zSP0f/gjXuVFNMM4lSyaLwKPNs0gIhAIXudexnEJXLw+RBjKdjDPX/M7Y6VLQTWlbW/aEzNXKq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAUelgYyKpA6RVj69Xf1NHS2L1X2JNGN2goG+GlyxBzQAiABIJ+kjzTp4MupLby0bDJGRIvyvmuErmpLtlmI5HqYFg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@2.26.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1702710},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"1a639c26a9d2af5cbee0255126f1b7fb67f3a5d0","scripts":{"init":"node bin/drupal-mcp-wizard.js","lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","doctor":"node bin/drupal-mcp-doctor.js","verify":"node bin/drupal-mcp-verify.js","wizard":"node bin/drupal-mcp-wizard.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"find src -name '*.js' -exec sh -c 'node --input-type=module --check < \"$1\" && echo \"$1 ✓\"' _ {} \\;","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"hono":"^4.13.5","postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.21.0","description":"Multi-site MCP server for Drupal over JSON:API and GraphQL, with governed writes and an SSH Drush bridge. init writes a stdio or Tailscale client config from a transport preset. doctor checks reachability, auth, and readiness, and reports version skew. A ","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ajv":"^8.20.0","jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","ajv-formats":"^3.0.1","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^5.0.0","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_2.26.0_1790873769897_0.7813430075600363","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"drupal-mcp-connector","version":"3.0.0","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://www.drupal.org/u/jmcerda","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@3.0.0","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-anchor":"bin/drupal-mcp-anchor.js","drupal-mcp-doctor":"bin/drupal-mcp-doctor.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-wizard":"bin/drupal-mcp-wizard.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"c5851204d8af112d8cac457feff6d8a05ae870fa","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-3.0.0.tgz","fileCount":240,"integrity":"sha512-eY4xQmT5CC7pOZ9yfAqhW3vVow9aKCthxlOMD+dk23WTLznxdHaHtqa2BXOGLc4MXlQXgZM5SD8Juev6pFpaHg==","signatures":[{"sig":"MEQCID9R4r3o/9+33c0uUqKMug/lJ5hZUl50g/hjvAuaUzkRAiBswNomwUDfacrJ/EiaxmkbNWJCqgHaMtzTEvZzeFGLYA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICK0N3G9wNZ1beIxOWC6Imd0zP81uM8g9r9YdFBVXrYfAiEAk0tVCkbTZCiJ+7vxde049OCBw3AKTHuieWoHz+IzXNc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1721519},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"03e34361ca811a21b9379f2a6f46ab586a552453","scripts":{"init":"node bin/drupal-mcp-wizard.js","lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","doctor":"node bin/drupal-mcp-doctor.js","verify":"node bin/drupal-mcp-verify.js","wizard":"node bin/drupal-mcp-wizard.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"find src -name '*.js' -exec sh -c 'node --input-type=module --check < \"$1\" && echo \"$1 ✓\"' _ {} \\;","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"hono":"^4.13.5","postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.21.0","description":"Multi-site MCP server for Drupal over JSON:API and GraphQL, with governed writes and an SSH Drush bridge. init writes a stdio or Tailscale client config from a transport preset. doctor checks reachability, auth, and readiness, and reports version skew. A ","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ajv":"^8.20.0","jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","ajv-formats":"^3.0.1","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^5.0.0","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_3.0.0_1790913623904_0.1680083754472248","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"drupal-mcp-connector","version":"3.0.1","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"author":{"url":"https://www.drupal.org/u/jmcerda","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","_id":"drupal-mcp-connector@3.0.1","maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-anchor":"bin/drupal-mcp-anchor.js","drupal-mcp-doctor":"bin/drupal-mcp-doctor.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-wizard":"bin/drupal-mcp-wizard.js","drupal-mcp-connector":"src/index.js"},"dist":{"shasum":"1a4cb447eeaad49ef6c4d864264a72a5a68d4b8a","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-3.0.1.tgz","fileCount":240,"integrity":"sha512-8WeSrcAIIL/+zz6DdiCe8Kn9+Pyh9UI9j2k/4ndKgCkTjGlDSskAPdLBJ7veYxX+Uh6VfYgYQVS1SxpKr8A1BA==","signatures":[{"sig":"MEUCIQDe77K0lNAXKKMOLaTGwt6eM75Sye6jDSQO00hohKLwjAIgXIQXVfRHkbrYGwQmCB/pS0gA9D9nnwMdiR7wS8fGAa0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBuZBGkQI3s5FRy7EEW0lssHNWEgKaU9hgZA1p4gLZD9AiEAo+v7pKwGhCjuEmsKfqLgA6FyzuqqRocxcrJuCwV1yBE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@3.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1721751},"main":"src/index.js","type":"module","engines":{"node":">=20.0.0"},"gitHead":"44e5f07d1b6f0edbcbb6f3f5520b60bc1ba08088","scripts":{"init":"node bin/drupal-mcp-wizard.js","lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit","start":"node src/index.js","doctor":"node bin/drupal-mcp-doctor.js","verify":"node bin/drupal-mcp-verify.js","wizard":"node bin/drupal-mcp-wizard.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"find src -name '*.js' -exec sh -c 'node --input-type=module --check < \"$1\" && echo \"$1 ✓\"' _ {} \\;","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"48e42885-a11a-4f8a-b3a2-328422b44408"}},"overrides":{"hono":"^4.13.5","postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.21.0","description":"Multi-site MCP server for Drupal over JSON:API and GraphQL, with governed writes and an SSH Drush bridge. init writes a stdio or Tailscale client config from a transport preset. doctor checks reachability, auth, and readiness, and reports version skew. A ","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ajv":"^8.20.0","jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","ajv-formats":"^3.0.1","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^5.0.0","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/drupal-mcp-connector_3.0.1_1790913861937_0.27110767086797005","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"_id":"drupal-mcp-connector@3.1.0","bin":{"drupal-mcp-edge":"bin/drupal-mcp-edge.js","drupal-mcp-agent":"bin/drupal-mcp-agent.js","drupal-mcp-anchor":"bin/drupal-mcp-anchor.js","drupal-mcp-doctor":"bin/drupal-mcp-doctor.js","drupal-mcp-verify":"bin/drupal-mcp-verify.js","drupal-mcp-wizard":"bin/drupal-mcp-wizard.js","drupal-mcp-connector":"src/index.js"},"bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"dist":{"shasum":"bd3078b6a62222a57c2fcd5b196cc19ea28cb260","tarball":"https://registry.npmjs.org/drupal-mcp-connector/-/drupal-mcp-connector-3.1.0.tgz","fileCount":241,"integrity":"sha512-ZteLmjJ7spsZkiExgbEH/GtI8BjLBfrMo/dX8mHqHMbH0+Q5yhwwgz1ci+Z9xZHplaBbn+BE77fWxvccyFofXQ==","signatures":[{"sig":"MEUCIBabVf6A+ByWzKO90Dg3urSeL/BKKjdclimBWxRlhT5RAiEA9jHhBZL6uxUMZlRic55mLwDoUxq/FP8dNxt1Rc0Ytjs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDChvKlpBkyhPHgOcQK37KT1OK/Vy3aMOtxre3Ll+/bAAIgSd+x1e+pTmoMBzDo4dCwN53yoUq/AU7UY4smIi13XN0="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/drupal-mcp-connector@3.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1740977},"main":"src/index.js","name":"drupal-mcp-connector","type":"module","author":{"url":"https://www.drupal.org/u/jmcerda","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"engines":{"node":">=20.0.0"},"gitHead":"79b04c9f076edbf4baf0bc5bcc7396a75e77d5b2","license":"MIT","scripts":{"init":"node bin/drupal-mcp-wizard.js","lint":"eslint src/","test":"vitest run","audit":"npm audit --audit-level=high","check":"npm run lint && npm run audit && npm run syntax-check && npm test","start":"node src/index.js","doctor":"node bin/drupal-mcp-doctor.js","verify":"node bin/drupal-mcp-verify.js","wizard":"node bin/drupal-mcp-wizard.js","lint:fix":"eslint src/ --fix","start:dev":"MCP_TRANSPORT=https MCP_ALLOW_HTTP=1 MCP_PORT=3443 node src/index.js","test:watch":"vitest","start:https":"MCP_TRANSPORT=https node src/index.js","syntax-check":"find src -name '*.js' -exec sh -c 'node --input-type=module --check < \"$1\" && echo \"$1 ✓\"' _ {} \\;","verify:example":"node bin/drupal-mcp-verify.js --config config/config.example.json","install:commands":"node scripts/install-commands.js","generate:commands":"node scripts/generate-commands.js"},"version":"3.1.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"48e42885-a11a-4f8a-b3a2-328422b44408"}},"homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"overrides":{"hono":"^4.13.5","postcss":"^8.5.18","@hono/node-server":"^2.0.5"},"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"_npmVersion":"11.21.0","description":"Multi-site MCP server for Drupal over JSON:API and GraphQL, with governed writes and an SSH Drush bridge. init writes a stdio or Tailscale client config from a transport preset. doctor checks reachability, auth, and readiness, and reports version skew. A ","directories":{},"maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"_nodeVersion":"20.20.2","contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"dependencies":{"ajv":"^8.20.0","jose":"^6.2.9","ssh2":"^1.16.0","graphql":"^17.0.0","node-fetch":"^3.3.2","ajv-formats":"^3.0.1","@modelcontextprotocol/node":"^2.0.0","@modelcontextprotocol/server":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","vitest":"^5.0.0","globals":"^17.6.0","eslint-plugin-n":"^18.1.0","eslint-plugin-security":"^4.0.0","@modelcontextprotocol/client":"^2.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/drupal-mcp-connector_3.1.0_1791049591892_0.5477147842653602"}}},"time":{"created":"2026-06-04T14:50:51.112Z","modified":"2026-10-03T17:46:32.313Z","0.6.1":"2026-06-04T14:50:51.486Z","0.7.0":"2026-06-08T14:37:30.367Z","0.7.1":"2026-06-08T15:13:48.837Z","0.8.0":"2026-06-15T15:00:59.563Z","0.9.0":"2026-06-15T16:05:12.565Z","0.9.1":"2026-06-15T16:32:31.188Z","0.10.0":"2026-06-15T17:56:10.468Z","1.0.0":"2026-06-15T18:06:31.686Z","1.1.0":"2026-06-26T04:05:04.831Z","1.1.1":"2026-06-26T14:11:37.657Z","1.2.0":"2026-06-27T15:52:54.423Z","1.3.0":"2026-06-27T22:11:11.940Z","1.3.1":"2026-06-28T01:55:02.514Z","1.3.2":"2026-06-28T02:46:50.039Z","1.4.0":"2026-06-29T04:09:14.883Z","1.5.0":"2026-06-29T04:22:30.531Z","1.5.1":"2026-06-29T20:31:16.321Z","1.6.0":"2026-06-29T21:11:48.883Z","1.7.0":"2026-07-01T19:05:20.152Z","1.8.0":"2026-07-23T20:09:47.730Z","1.8.1":"2026-07-24T01:44:38.351Z","2.0.0":"2026-07-29T22:39:38.152Z","2.1.0":"2026-07-31T02:00:23.530Z","2.1.1":"2026-07-31T02:38:22.907Z","2.2.0":"2026-07-31T03:29:05.216Z","2.2.1":"2026-08-02T22:03:36.827Z","2.2.2":"2026-08-13T03:13:35.107Z","2.3.0":"2026-08-13T21:03:43.985Z","2.4.0":"2026-08-14T14:38:30.884Z","2.4.1":"2026-08-14T19:07:19.285Z","2.5.0":"2026-08-15T01:57:51.996Z","2.6.0":"2026-08-15T20:36:55.134Z","2.6.1":"2026-08-17T22:37:37.931Z","2.7.0":"2026-08-17T23:31:08.376Z","2.7.1":"2026-08-18T00:56:57.554Z","2.7.2":"2026-08-18T01:45:00.434Z","2.7.3":"2026-08-18T03:08:22.808Z","2.7.4":"2026-08-18T03:51:32.270Z","2.8.0":"2026-08-25T21:12:26.074Z","2.9.0":"2026-08-26T17:46:56.204Z","2.10.0":"2026-08-27T17:20:54.346Z","2.10.1":"2026-08-28T20:46:35.333Z","2.11.0":"2026-09-02T14:25:16.767Z","2.12.0":"2026-09-02T17:19:57.596Z","2.13.0":"2026-09-03T00:40:12.845Z","2.13.1":"2026-09-05T20:23:16.439Z","2.14.0":"2026-09-07T03:59:33.266Z","2.14.1":"2026-09-09T19:48:42.393Z","2.14.2":"2026-09-10T15:58:30.269Z","2.15.0":"2026-09-10T20:33:03.900Z","2.15.1":"2026-09-11T01:27:38.553Z","2.15.2":"2026-09-11T14:33:00.606Z","2.16.0":"2026-09-11T19:13:31.880Z","2.17.0":"2026-09-12T02:50:11.184Z","2.18.0":"2026-09-16T21:51:44.980Z","2.19.0":"2026-09-17T00:54:01.318Z","2.19.1":"2026-09-18T02:10:12.667Z","2.20.0":"2026-09-19T14:15:49.550Z","2.21.0":"2026-09-20T00:28:55.676Z","2.22.0":"2026-09-20T17:55:11.976Z","2.23.0":"2026-09-23T22:32:30.463Z","2.23.1":"2026-09-24T04:01:06.081Z","2.23.2":"2026-09-28T18:48:53.916Z","2.23.3":"2026-09-28T20:19:10.315Z","2.24.0":"2026-09-29T05:41:16.917Z","2.24.1":"2026-09-29T16:14:19.624Z","2.24.2":"2026-09-30T15:45:48.268Z","2.25.0":"2026-10-01T05:50:31.418Z","2.26.0":"2026-10-01T16:56:09.996Z","3.0.0":"2026-10-02T04:00:24.147Z","3.0.1":"2026-10-02T04:04:22.051Z","3.1.0":"2026-10-03T17:46:32.003Z"},"bugs":{"url":"https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues"},"author":{"url":"https://www.drupal.org/u/jmcerda","name":"Jeremy Michael Cerda","email":"opensource@wilkesliberty.com"},"license":"MIT","homepage":"https://github.com/Wilkes-Liberty/drupal-mcp-connector","keywords":["drupal","mcp","model-context-protocol","jsonapi","json-api","graphql","connector","headless","decoupled","drush"],"repository":{"url":"git+https://github.com/Wilkes-Liberty/drupal-mcp-connector.git","type":"git"},"description":"Multi-site MCP server for Drupal over JSON:API and GraphQL, with governed writes and an SSH Drush bridge. init writes a stdio or Tailscale client config from a transport preset. doctor checks reachability, auth, and readiness, and reports version skew. A ","contributors":[{"url":"https://wilkesliberty.com","name":"Wilkes & Liberty, LLC","email":"opensource@wilkesliberty.com"}],"maintainers":[{"name":"jmcerda","email":"jmcerda@wilkesliberty.com"}],"readme":"# Drupal MCP Connector\n\n> Multi-site MCP server for Drupal over JSON:API and GraphQL, with governed writes and an SSH Drush bridge. `init` writes a stdio or Tailscale client config from a transport preset. `doctor` checks reachability, auth, and readiness, and reports version skew. A timestamp gap on a published revision no longer blocks the next draft.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Node.js](https://img.shields.io/badge/node-%3E%3D20-green)](https://nodejs.org)\n[![Drupal](https://img.shields.io/badge/drupal-10%20%7C%2011-blue)](https://drupal.org)\n[![MCP](https://img.shields.io/badge/MCP-2026--07--28-purple)](https://modelcontextprotocol.io)\n\nBuilt by **[Jeremy Michael Cerda](https://www.drupal.org/u/jmcerda)** (opensource@wilkesliberty.com). Maintained by [Wilkes & Liberty, LLC](https://github.com/Wilkes-Liberty).\n\n**If the client only shows `drupal_list_sites` and `drupal_governance_status`**, the secret env vars named in `config.json` are unset. Upgrade to the current release (2.6.1 first fixed this), or stay on 2.6.0 and launch via `bin/drupal-mcp-launch.sh` with a `config/secrets.map` (`ENV_VAR=keychain-item`). Then restart the MCP server. See [#199](https://github.com/Wilkes-Liberty/drupal-mcp-connector/issues/199).\n\n---\n\n## What It Does\n\n**Drupal MCP Connector** (`drupal-mcp-connector`) connects any [Model Context Protocol](https://modelcontextprotocol.io) client to one or more Drupal sites. It exposes Drupal content and configuration as a set of MCP **tools**, **resources**, and **prompts**, so an MCP client can read, audit, and (where permitted) write content through structured, governed operations instead of the admin UI:\n\n```\n\"Find all articles missing a meta description and list them.\"\n\"Show me every user account that hasn't logged in for 90 days.\"\n\"Create 10 draft product nodes from this structured data.\"\n\"Run an SEO and accessibility audit on the article content type.\"\n\"What content types exist on the site and which are barely used?\"\n```\n\nThe connector speaks **two Drupal backends interchangeably** — Drupal core's **JSON:API** and **GraphQL** (via [GraphQL Compose](https://www.drupal.org/project/graphql_compose)) — selectable per site. It normalizes both into one canonical entity shape, so the same tools work whether a site exposes JSON:API, GraphQL, or both. An optional SSH **Drush bridge** adds administrative operations the HTTP APIs can't reach.\n\n---\n\n## Dual-Protocol Backends\n\nDrupal modules can also supply their own typed MCP actions through an opt-in\n[module-tool registry](docs/module-tools.md). The module owns business rules and\nschemas; the connector discovers and forwards approved tools under Sentinel and\nconnector policy. Existing built-in tools remain available during migration.\n\nEach site declares which backend(s) it exposes via the `api` key:\n\n```json\n\"sites\": {\n  \"main\":         { \"baseUrl\": \"https://example.com\", \"api\": \"jsonapi\" },\n  \"graphql_only\": { \"baseUrl\": \"https://api.example.com\", \"api\": \"graphql\" },\n  \"either\":       { \"baseUrl\": \"https://example.com\", \"api\": [\"graphql\", \"jsonapi\"] }\n}\n```\n\n- **`api` accepts** `\"jsonapi\"`, `\"graphql\"`, or a priority array like `[\"graphql\",\"jsonapi\"]`. Omit it to **auto-detect** (the connector probes both once and caches the result).\n- **One canonical shape.** Both backends return entities as\n  `{ id, entityType, bundle, title, status, langcode, created, changed, url, fields, relationships, _backend }`, so tool output is identical regardless of protocol.\n  Every site-addressing response also includes `_target: { name, baseUrl, source }` so a defaulted call cannot be mistaken for another environment.\n- **Capability-aware.** Each backend advertises what it supports (read, write, delete, server-side filter/sort, revisions). GraphQL via GraphQL Compose is **read-only** (no mutations) and has no server-side field filter, so filters are applied client-side over a bounded fetch and flagged `approximate`/`truncated`. Write tools against a read-only backend return a clear capability error rather than failing silently.\n- **Writes go through JSON:API.** Use a JSON:API-enabled site as the write plane; keep GraphQL as a read plane where that suits your architecture.\n- **`defaultTextFormat` sets the body text format** used by the `body` convenience\n  parameter on node writes, e.g. `{ \"baseUrl\": \"…\", \"defaultTextFormat\": \"basic_html\" }`.\n  Individual calls can override it with `format`. Field API `allowed_formats` wins\n  when it can be resolved (from `field_config` or, for body, `base_field_override`):\n  a single allowed format is the default, and a format outside the list is refused.\n  Without a resolved list, a create falls back to `full_html`, which many governed\n  sites deliberately do not define — and which is the most permissive core format,\n  so setting this per site is the safer posture. An update reuses the format already\n  stored on the field instead of that fallback. A text format is Drupal's\n  HTML-filtering boundary, so it is worth choosing deliberately rather than inheriting.\n\nSee **[docs/architecture.md](docs/architecture.md)** for the backend abstraction and **[docs/graphql-local-setup.md](docs/graphql-local-setup.md)** for the GraphQL specifics.\n\n---\n\n## Features\n\n### 123 Tools Across 27 Modules\n\n| Module | Tools |\n|--------|-------|\n| **Nodes** | CRUD for any content type with arbitrary field support |\n| **Taxonomy** | Vocabulary listing + full term CRUD |\n| **Users** | List, get, create, update, block/unblock, role management (PII-gated) |\n| **Media** | List types, CRUD, file upload, orphaned-media detection |\n| **GraphQL** | Execute a query, schema introspection (mutation-gated) |\n| **Codegen** | Optional graphql_compose_codegen inspect/diff/generate (generate is `--dry-run` text) |\n| **Entities** | Generic CRUD for *any* Drupal entity type (paragraphs, commerce, webforms, …) |\n| **Site** | Site info, content-type discovery, configured-site listing |\n| **Reports** | Content summary, stale content, field completeness, SEO/accessibility audits, taxonomy usage, user activity, revision hotspots (10 read-only reports) |\n| **Drush** | Cache rebuild, cron, config sync, module management, DB updates via SSH |\n| **Revisions** | List/get entity revisions; governed revert to a prior revision |\n| **Moderation** | Set moderation state; list content by state; observed-state discovery (content_moderation) |\n| **Scheduler** | Set publish-on / unpublish-on dates (Scheduler module) |\n| **Fields** | Describe a bundle's fields (type/required/cardinality, best-effort) |\n| **References** | Resolve a human name/title to an entity UUID for relationship fields |\n| **Bulk** | Bulk create/update with per-item partial-failure reporting |\n| **Translations** | List, create, and revise published entity translations (`revise: true` on `drupal_create_translation`, MCP Sentinel 2.24.0+) |\n| **Paragraphs** | Create/update/get Paragraph components for embedding in host fields |\n| **Structure** | Menu links (list/create/update, incl. `parent` + `enabled`) + custom blocks (list/create) |\n| **Redirects** | Create active URL redirects (301/302) + update/repoint existing redirects (Redirect module) |\n| **Search** | Best-effort content search (title match; Search API/Solr-ready) |\n| **Reports (extra)** | Orphaned references, unpublished content, missing-field audits |\n| **Reports — Links & 404** | 404-log → redirect candidates, redirect-table health (chains/loops/duplicates), body-link inventory with opt-in live checking, URL-alias coverage, menu-link integrity, embedded-entity scan |\n| **Reports — Config & Health** | Config drift, best-practice/security config linter, module audit (dev/debug + security updates), permission audit, Drupal status report, text-format safety, cache posture |\n| **Reports — Content Quality** | Duplicate content, workflow bottlenecks, translation coverage, scheduled content, readability (Flesch), orphan pages, PII exposure (masked), structured-meta SEO coverage |\n| **Audit (composite)** | `drupal_audit_site_health` — scored content/links/config dashboard with a roll-up grade |\n| **Config & Governance** | Governed config get/list/set via the server-tool bridge; `drupal_mcp_whoami` tier/capability report |\n\n**Preview writes with `dryRun`.** The node and entity create/update/delete tools accept an optional `dryRun: true` flag that runs the connector's checks and returns a preview of the payload, without committing anything to Drupal. The result's `checks` block says what was checked. Field access and entity validation are checked only when Sentinel's non-saving draft endpoint ran; see [docs/tools-reference.md](docs/tools-reference.md#preview-writes-with-dryrun).\n\n### MCP Resources\nBrowsable, always-fresh context the client can read without calling a tool:\n- **`drupal://sites`** — configured site profiles (no credentials)\n- **`drupal://{site}/content-types`** — content types with field schemas\n- **`drupal://{site}/security-policy`** — the active security configuration\n\n### MCP Prompts\nPrompts are exposed as slash-commands in **any** MCP client (Claude, Gemini, Codex,\nand other MCP-aware agents). Two kinds ship with the connector:\n\n**Workflow templates** — multi-step guided flows:\n- `drupal-content-audit` — walk through a full site content audit\n- `drupal-full-audit` — run the composite content/links/config audit and turn the scored dashboard into a prioritized action plan\n- `drupal-create-article` — guided article creation with all fields\n- `drupal-seo-fix` — find and fix SEO gaps\n- `drupal-user-cleanup` — identify and handle inactive accounts\n- Module-owned workflows (`drupal-<namespace>-<workflow>`) when\n  `serverTools.modules.workflows` is enabled — see `docs/module-workflows.md`\n\n**One prompt per tool** — every `drupal_*` tool is also exposed as a\n`drupal-<tool>` prompt (e.g. `drupal-create-node`, `drupal-list-nodes`,\n`drupal-report-seo-audit`), derived automatically from the tool set so it never\ndrifts. Each prompt takes the tool's parameters as arguments and drives a single,\ngoverned call to that tool. These are protocol-native, so they work everywhere the\nprompts capability is supported — the client renders them per its own convention\n(e.g. Claude Code shows `/mcp__drupal__drupal-create-node`).\n\n#### Filesystem slash commands (`/drupal-*`)\nMCP prompts (above) are the protocol-native slash surface. For the literal bare\n`/drupal-<tool>` form, the connector ships generated stubs under\n**`.agents/commands/`** — a harness-agnostic tree, not a vendor rule directory.\nClients that scan `.agents/commands/` (including Grok Build when this repo is\nthe project) pick them up automatically.\n\nClients that only scan a vendor home path (Claude Code `~/.claude/commands`,\nGrok `~/.grok/commands`, Codex `$HOME/.agents/skills`) install from that tree\ninto the **operator home**, so no consuming project has to commit `.claude/` or\n`.grok/`. Codex uses a **skill** (`drupal-mcp`), not deprecated custom prompts:\n\n```bash\nnpm run generate:commands    # refresh .agents/commands/ (from a clone)\nnpm run install:commands     # copies into ~/.claude/commands, ~/.grok/commands, and ~/.agents/skills/drupal-mcp/\n# npm run install:commands -- --clients claude\n# npm run install:commands -- --clients codex\n# npm run install:commands -- --home /path/to/fake-home   # tests / CI\n# npm run install:commands -- --modules   # also write stubs for module-owned tools\n```\n\nModule-owned tools ([docs/module-tools.md](docs/module-tools.md)) get a prompt\nwhenever they are visible to the caller. Their bare `/drupal-<namespace>-<alias>`\nstubs are written only with `--modules`, which discovers them from the sources\nin `config/config.json`.\n\nFrom an npm install, the same files ship at\n`node_modules/drupal-mcp-connector/.agents/commands/`. Do not copy them into an\napplication repo's `.claude/` or `.grok/` directory.\n\n### Security Model\n\nDefense-in-depth presets, enforced connector-side and complemented by Drupal-side\ngovernance (MCP Sentinel). **Default when `security` is omitted:**\n`production-strict` (read-only, sensitive types denied). Local development must\nset `\"preset\": \"development\"` explicitly.\n\n```json\n\"security\": { \"preset\": \"auditor\" }\n```\n\n| Preset | What it does |\n|--------|-------------|\n| `development` | Everything allowed, including GraphQL — local development only |\n| `content-editor` | Create/edit content + structural entities; no deletes; no publishing; secrets/governance/account types denied |\n| `config-editor` | content-editor + site-building config read + governed config write (developer tier) |\n| `auditor` | Read-only; secrets/governance/account types denied; user PII redacted when user is allowed |\n| `production-strict` | Read-only; same sensitive denylist as auditor; broad PII field redaction (**default**) |\n| `write-plane` | Create/update content set for agents; no deletes; no GraphQL; publish off by default |\n\nAdditional connector-side gates (2.1+ / 2.2+):\n\n- **Entity allowlists** apply to specialized tools (`drupal_*_node`, media, taxonomy), not only `drupal_entity_*`.\n- **Publish gate:** `status: true` and `moderation_state: \"published\"` require `allowPublish`. Media create defaults **unpublished**. Published moderated node updates without a moderation state default to **draft** (forward revision).\n- **Uploads** only from `MCP_UPLOAD_ROOT` (or the process cwd); sensitive paths (`.env*`, `.ssh`, connector `config.json`) are refused.\n- **HTTPS:** non-loopback binds require an inbound OAuth resource server (`auth.issuer` + `auth.audience`), not `MCP_AUTH_TOKEN`. `MCP_AUTH_TOKEN` remains valid on loopback. `MCP_ALLOW_UNAUTHENTICATED=1` is only for a trusted proxy. Non-loopback TLS defaults to 120 req/min rate limiting. Inbound JWT scopes (and optional `auth.grants`) filter which tools, resources, prompts, and sites a principal can discover or invoke.\n- **GraphQL is off by default.** `drupal_graphql` / introspect require `security.allowGraphql` (true only on the `development` preset). Raw GraphQL results still bypass entity allowlists and field redaction — prefer JSON:API entity tools when connector policy must hold. Mutations also need `allowGraphqlMutations`.\n- **Northbound data-flow budgets (2.8+):** row, byte, page, request, and chained-action counters keyed by inbound principal + authoritative target (same finite defaults as MCP Sentinel), so pagination, retries, batching, or a new chain id cannot reset them. Governed reads carry the declared-ceiling / declared-destination wire contract; tune with `security.declaredCeiling` and `security.readBudgets`.\n\nFull detail: **[docs/security.md](docs/security.md)** and **[docs/security-hardening.md](docs/security-hardening.md)**.\n\n---\n\n## Requirements\n\n- **Node.js** 20+\n- **Drupal** 10 or 11 (JSON:API ships in core)\n- For the **GraphQL backend**: [GraphQL Compose](https://www.drupal.org/project/graphql_compose)\n- For **token auth** (recommended): [Simple OAuth](https://www.drupal.org/project/simple_oauth)\n- For the **Drush bridge**: SSH key access to the Drupal server\n\n---\n\n## Quick Start\n\n### One-liner (recommended for operators)\n\n```bash\nnpx -y drupal-mcp-connector init\n# aliases: npx -y drupal-mcp-connector wizard\n#          npx -y drupal-mcp-wizard\n# CI / dogfood: npx -y drupal-mcp-connector init --yes --json\nnpx -y drupal-mcp-connector doctor\n# CI: npx -y drupal-mcp-connector doctor --json\n```\n\nThe wizard prints Cursor (`.cursor/mcp.json`) and Claude Code `mcpServers`\nsnippets, optional `auth.grants` allowlist hints, and a whoami / contract_ready\ncheck. It writes files only with `--write` (never clobbers without confirm\nunless `--yes`). Doctor prints **one** primary failing gate and the exact next\nfix (exit non-zero on fail; `--json` is secret-free).\n\n### Transport presets\n\n| Preset | URL shape | Notes |\n|--------|-----------|--------|\n| **Local stdio** (`--preset local-stdio`) | `https://drupal.ddev.site` | Client launches this connector as a subprocess. Drupal must be reachable from this machine. |\n| **Tailscale VPN** (`--preset tailscale`) | `https://drupal.<tailnet>.ts.net` | VPN-required. The MCP client host must be on the same tailnet. Not a public internet path. |\n| **Public HTTPS** (`--preset public-https`) | `https://mcp.example.com/mcp` | **Gated / later.** Operator-run `MCP_TRANSPORT=https` + TLS + inbound OAuth. There is **no** hosted Wilkes & Liberty SaaS MCP URL. |\n\n**Remote HTTPS is Tailscale / local-VPN only.** This package does not ship a\npublic SaaS remote endpoint. stdio is the default: the client launches the\nconnector on your machine and inherits VPN/Tailscale/localhost reachability to\nDrupal. See **[docs/mcp-clients.md](docs/mcp-clients.md)**.\n\n`requireGovernance: true` remains the listing default for a later marketplace\nentry — this repo does not submit listings. If the client only shows\n`drupal_list_sites` and `drupal_governance_status`, run `doctor`.\n\n### Cursor plugin (stdio)\n\nLocal skeleton only (`.cursor-plugin/plugin.json` + root `mcp.json`): the client\nlaunches `npx -y drupal-mcp-connector` on this machine. No hosted URL.\n\n```bash\nnpx -y drupal-mcp-connector init --preset local-stdio\nnpx -y drupal-mcp-connector doctor\n```\n\n`requireGovernance: true` is the listing default. `--preset public-https` stays\ngated. Marketplace listing submit is **operator-only** — this repo does not submit.\nSee [PRIVACY.md](PRIVACY.md).\n\n### Two-minute happy path\n\nAfter `init` and a green `doctor`, in the MCP client (real tool names):\n\n1. **Who am I?** Call `drupal_mcp_whoami`. Confirm `tier`, `preset`, and\n   `capabilities.publish` (false on `production-strict` / `content-editor`).\n2. **What can I see?** Call `drupal_list_sites`, then `drupal_list_nodes` with\n   `{ \"type\": \"article\", \"status\": false, \"limit\": 5 }` (unpublished only) or\n   `drupal_get_node` on a staging UUID. Prefer `drupal_search_content` for a\n   title substring.\n3. **Safe unpublished write (optional, non-prod):** Preview with\n   `drupal_create_node`\n   `{ \"type\": \"article\", \"title\": \"MCP draft\", \"status\": false, \"dryRun\": true }`.\n   Commit without `dryRun` only on staging, still `status: false` (or\n   `moderationState: \"draft\"`). Never set `status: true` or\n   `moderationState: \"published\"` unless `drupal_mcp_whoami` shows\n   `capabilities.publish: true` **and** you intend to go live.\n\nFail-closed: default `production-strict` is read-only. A deny is expected when\nthe allowlist or Sentinel profile excludes the type — run `doctor` and\n`drupal_governance_status`; do not auto-widen allowlists.\n\n### From npm (recommended for operators)\n\n```bash\nnpm install -g drupal-mcp-connector\n# or: npx -y drupal-mcp-connector\n```\n\nPoint your MCP client at the installed binary (path from `which drupal-mcp-connector`\nor `node_modules/.bin/drupal-mcp-connector`). For multi-site or non-env config,\nclone the repo (or copy `config/config.example.json` beside a small launcher) and\npass a config path — see **[docs/getting-started.md](docs/getting-started.md)**.\n\n### From a git clone (development)\n\n```bash\ngit clone https://github.com/Wilkes-Liberty/drupal-mcp-connector\ncd drupal-mcp-connector\nnpm install\ncp config/config.example.json config/config.json\n# Edit config/config.json — baseUrl, api backend, auth, security preset\nnode src/index.js\n```\n\n### Register with an MCP client\n\nMost desktop and CLI MCP clients launch the connector over **stdio**:\n\n```json\n{\n  \"mcpServers\": {\n    \"drupal\": {\n      \"command\": \"drupal-mcp-connector\",\n      \"env\": {\n        \"DRUPAL_BASE_URL\": \"https://mysite.com\",\n        \"DRUPAL_API_TOKEN\": \"your-token-here\"\n      }\n    }\n  }\n}\n```\n\nOr with an absolute path to `src/index.js` / the installed package. For multi-client\nor remote use, run the HTTPS transport and register the endpoint instead — see\n**[docs/getting-started.md](docs/getting-started.md)** and\n**[docs/mcp-clients.md](docs/mcp-clients.md)**.\n\nThe same entry point serves current MCP 2026-07-28 clients and 2025-era clients.\nCurrent HTTP requests are stateless and never receive `Mcp-Session-Id`; legacy\nHTTP clients retain their existing session. Set `MCP_LEGACY_TRANSPORT=reject`\nto end the compatibility window deliberately. The `/mcp` URL does not change.\n\n---\n\n## Companion Drupal Module — MCP Sentinel\n\nThe connector works out of the box against Drupal core's JSON:API and a GraphQL Compose schema. For server-side governance, pair it with the **[MCP Sentinel](https://www.drupal.org/project/mcp_sentinel)** module (`drupal/mcp_sentinel`), which enforces policy *inside* Drupal — independent of any connector configuration:\n\n- Role-bound policy profiles (operation gates, entity allow/deny, field redaction)\n- Tamper-evident audit log of every governed MCP operation, attributed to the acting account\n- Content locks that prevent edits to content a human is actively editing\n- OAuth scope enforcement (`mcp_read` / `mcp_write` / `mcp_config`) per tool\n- HMAC-signed webhooks on MCP-driven entity changes\n\n```bash\ncomposer require drupal/mcp_sentinel drupal/mcp_server drupal/simple_oauth\ndrush en mcp_sentinel mcp_sentinel_server mcp_server_tool_bridge -y\ndrush mcp-sentinel:setup\n```\n\nGovernance keys off the authenticated account's role and OAuth scopes — not request headers. The connector sends an `X-MCP-Client` identity header purely as a log label. See the [MCP Sentinel project page](https://www.drupal.org/project/mcp_sentinel) for the full contract.\n\n### Raw SQL is governed, or it is off\n\nThe Drush bridge runs over SSH, which is *below* everything above: a `drush`\nsubprocess does not make a request Drupal can govern, and most Drush commands\nnever load Drupal's module system at all. `drupal_drush_sql_query` used to\nexploit that without meaning to — it called `drush sql:query`, so no policy\nprofile, no denied entity type, no field redaction and no audit entry applied\nto anything it read.\n\nIt now calls `drush mcp-sentinel:sql-query` (mcp_sentinel ≥ 1.14), which runs\nwith Drupal fully bootstrapped and enforces the same profile that governs\nJSON:API. **Two opt-ins, both off by default**, are required:\n\n```jsonc\n// this connector, per site\n\"drushSsh\": {\n  \"rawSql\": \"governed\",                          // no other value enables it\n  \"allowedCommands\": [\"mcp-sentinel:sql-query\"]  // only if you pin this list\n}\n```\n\n…plus `allow_raw_sql` on the policy profile in Drupal. Expect a much narrower\ntool than before: one `SELECT`, entity tables only, no expressions, and no\n`SELECT *` on a table carrying a redacted column. Every attempt — permitted or\nrefused — lands in the audit chain with its statement text.\n\nThe rest of the bridge (`sql:cli`, `sql:dump`, `php:eval` and anything else you\nreach over SSH) is **outside Drupal governance by construction**. Treat SSH as\nan operator channel: keep the agent's credentials off it, and pin\n`allowedCommands` per site.\n\n---\n\n## Documentation\n\n| Doc | Description |\n|-----|-------------|\n| [Getting Started](docs/getting-started.md) | Full setup: DDEV/Lando, Simple OAuth, multi-site, transports |\n| [MCP Clients](docs/mcp-clients.md) | Wire the connector into Claude (Code/Desktop), Grok (Build/API), and OpenAI (Codex/ChatGPT) — copy-paste config per client |\n| [OAuth client_credentials](docs/oauth-client-credentials.md) | Production OAuth deploy: scope→role mapping, JSON:API writes, config persistence, secret handling, troubleshooting |\n| [Architecture](docs/architecture.md) | Backend abstraction, canonical model, and how to extend it |\n| [GraphQL Setup](docs/graphql-local-setup.md) | GraphQL Compose backend + local TLS notes |\n| [Tools Reference](docs/tools-reference.md) | Full reference for all 123 tools |\n| [Security Guide](docs/security.md) | Presets, entity access control, field redaction |\n| [Security Hardening](docs/security-hardening.md) | Optional transport, identity, and secrets controls |\n| [Verification](docs/verification.md) | Prove a secure install: static + live checks, negative probes, evidence artefact, managed residuals |\n| [Threat Model](docs/threat-model.md) | Trust boundaries, threats & mitigations, residual risks, and the security-pass results |\n| [Deployment](docs/deployment.md) | Run the HTTPS transport in production: Docker, systemd, launchd, reverse proxy, pre-exposure checklist |\n| [Integration Contract](docs/integration-contract.md) | The connector ↔ Drupal-governance contract (identity, OAuth scopes, compatibility) |\n| [Adapter Contracts](docs/adapter-contracts.md) | Provider-neutral evaluator / relay / approval / evidence / SoR contracts and the Drupal conformance kit |\n| [Versioning & Stability](docs/versioning.md) | Semver policy: the stable surface, deprecation process, MCP protocol + Node support |\n| [Whitepaper](docs/whitepaper.md) | Vision, personas, and use cases |\n\n---\n\n## Contributing\n\nPRs welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n## Security\n\nFound a vulnerability? See [SECURITY.md](SECURITY.md). Please do not open a public issue.\n\n## License\n\n[MIT](LICENSE) © 2026 [Jeremy Michael Cerda](https://www.drupal.org/u/jmcerda) and [Wilkes & Liberty, LLC](https://github.com/Wilkes-Liberty)\n","readmeFilename":"README.md"}