ibabs-mcp
A local Model Context Protocol (MCP) server for iBabs. It logs into an iBabs site with your credentials, caches the portal session, and exposes tools to list meetings, read agenda items, and download attachments.
Install
Published on npm as ibabs-mcp:
npx -y ibabs-mcp
Requires Node.js 20 or newer.
Configuration
All configuration comes from environment variables. Set them in the MCP client config (not in a file the server reads), or export them in your shell.
* Provide either IBABS_PASSWORD or IBABS_SESSION_COOKIE.
See .env.example for a template.
Use with Hermes Agent
Hermes reads mcp_servers from ~/.hermes/config.yaml and passes only the env
you list explicitly. Keep the secret in ~/.hermes/.env and reference it:
mcp_servers:
ibabs:
command: "npx"
args: ["-y", "ibabs-mcp"]
env:
IBABS_SITE: "example-site"
IBABS_EMAIL: "${IBABS_EMAIL}"
IBABS_PASSWORD: "${IBABS_PASSWORD}"
Then ~/.hermes/.env:
[email protected]
IBABS_PASSWORD=...
Restart Hermes (or run /reload-mcp). Tools appear as mcp_ibabs_*.
Tools
list_meetings— list meetings in a date range (defaults to the next 30 days), optionally restricted to council/committee meetings.get_meeting— one meeting with its agenda items and attachments.get_attachment— download an attachment bydocumentId, returning a local path and, for PDFs/plain text, the extracted text.
Other MCP clients
Any stdio MCP client works — point it at npx -y ibabs-mcp with the env above.
For Claude Desktop / Cursor:
{
"mcpServers": {
"ibabs": {
"command": "npx",
"args": ["-y", "ibabs-mcp"],
"env": {
"IBABS_SITE": "example-site",
"IBABS_EMAIL": "[email protected]",
"IBABS_PASSWORD": "..."
}
}
}
}
Development
npm install
npm run dev # run from source with tsx
npm run test # vitest
npm run build # compile to dist/
Releasing
Publishing uses npm trusted publishing (OIDC) — no long-lived token.
- Bump the version in
package.jsonand commit. - Tag and push:
git tag v0.1.0 && git push origin v0.1.0. - The
PublishGitHub Action builds, tests, and runsnpm publishwith provenance.
The npm trusted publisher must be configured for repository
anned20/ibabs-mcp, workflow publish.yml.