EzzyBills code-generation MCP server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@EzzyBills code-generation MCP serverGenerate a Node.js app that fetches purchase orders from EzzyBills."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
EzzyBills code-generation MCP server
This TypeScript MCP server supplies ChatGPT with the EzzyBills developer contract needed to generate standalone applications. It is a read-only knowledge service: it does not call EzzyBills, access customer data, or perform approval actions at runtime.
Architecture
ChatGPT
↓
get_ezzybills_developer_spec
↓
EzzyBills API catalogue, authentication contract, schemas, ID rules,
and generation rules
↓
Generated application
↓
EzzyBills REST APIsGenerated applications run independently of MCP. When they require EzzyBills access, they authenticate through the Developer Portal credentials:
CLIENT_ID + CLIENT_SECRET
↓
POST /oauth/token
↓
Authorization: Bearer <token>
↓
EzzyBills REST APIsThe client secret belongs only in a generated application's backend environment. It must never be embedded in browser or React code.
Related MCP server: swagger-openapi-mcp
MCP capabilities
The server exposes one MCP tool:
get_ezzybills_developer_specIt returns eleven structured sections:
coreArchitecture— actors and default stackauthContract— OAuth2 client-credentials, token lifecycleuniversalRules— rules for all generated applicationscontentSecurityRules— HTML sanitization, blob security, sandboxingactionRiskRules— READ_ONLY / WRITE / DESTRUCTIVE_OR_EXTERNAL classificationsapiCatalogue— 9 verified endpoints includinggetPurchaseOrders3workflowRecipes— step-by-step recipes for common tasksapplicationProfiles— optional UI blueprints (document-browser, approval-queue, etc.)idRules— parentDocumentId vs attachmentInvoiceIdspecificationGaps— items awaiting backend-developer verificationgenerationRules— flat compatibility alias
The server also exposes one MCP resource:
ezzybills://docs/developer-specThe resource serves docs/mcp_api_spec.md.
Requirements
Node.js 20 or newer
npm
The MCP server itself does not require EzzyBills account credentials.
Install and run
npm install
npm run devFor a compiled production-style run:
npm run build
npm startThe default endpoint is:
http://127.0.0.1:3000/mcpThe health endpoint is:
http://127.0.0.1:3000/Configuration
Variable | Default | Purpose |
|
| Network interface on which the HTTP server listens |
|
| HTTP port |
| local hostnames | Additional accepted HTTP Host header names |
| local hostnames | Additional accepted Origin header hostnames |
ALLOWED_HOSTS and ALLOWED_ORIGINS are comma-separated bare hostnames.
Do not include a URL scheme or port.
Example production configuration:
HOST=0.0.0.0
PORT=3000
ALLOWED_HOSTS=mcp.ezzybills.com,<azure-container-app-hostname>Configure ALLOWED_ORIGINS only when the connecting client sends an Origin
header. Add the hostname actually used by that client.
Host and Origin validation protect request routing; they are not user
authentication. If the developer specification is not intended to be public,
protect /mcp with the authentication or private-ingress arrangement chosen
for the deployment.
MCP Inspector
Start the server with
npm run dev.Select Streamable HTTP in MCP Inspector.
Connect to
http://127.0.0.1:3000/mcp.Confirm the single tool and resource listed above are available.
Docker
The multi-stage Dockerfile builds the TypeScript source, installs only production dependencies in the runtime image, and copies the Markdown specification required by the MCP resource.
docker build -t ezzybills-mcp .
docker run --rm -p 3000:3000 -e ALLOWED_HOSTS=localhost ezzybills-mcpFor Azure, set the production hostname in ALLOWED_HOSTS rather than using
the local Docker value.
Scripts
Command | Purpose |
| Start the TypeScript server |
| Type-check source and tests |
| Run the test suite |
| Compile |
| Run the compiled HTTP server |
| Type-check, test, and build |
Project layout
docs/mcp_api_spec.md
src/resources/ezzyBillsDeveloperResource.ts
src/tools/getEzzyBillsDeveloperSpec.ts
src/server.ts
src/httpConfig.ts
src/http.ts
test/developerSpec.test.ts
Dockerfile
.dockerignoreTestEzzyBillsMCP
This server cannot be deployed
Maintenance
Related MCP Connectors
QuickBooks Online in Claude and ChatGPT: 221 tools, full ledger, multi-company, Canada + US, FR/EN.
Create real Word .docx files from your AI chat: proposals, quotes, contracts, statements of work.
Create real Word .docx files from your AI chat: proposals, quotes, contracts, statements of work.
Malaysian SME accounting, e-Invoice and payroll for your AI. 64 tools; writes are approved drafts.
Related MCP Servers
- AlicenseAqualityDmaintenanceExposes Swagger/OpenAPI API documentation to AI models, enabling exploration, search, and interaction with endpoints, schemas, and execution of API calls.147 npm2MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI to scan and query local OpenAPI/Swagger documentation, listing API groups and endpoints, and generating TypeScript type definitions for specific endpoints.-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to browse, read, compare, and validate OpenAPI contracts for providers and consumers.1MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to search, browse, and generate example payloads from Sage Intacct REST API documentation using OpenAPI specs.98 npmMIT