Itcons.app MCP Server
The Itcons.app MCP Server connects AI assistants to the Itcons.app business operations platform, enabling both read and write operations.
Read Capabilities:
Check connection – Validate configured credentials
List catalogs – Retrieve work order types, work report models, projects, clients, statuses, users, and resources
Search work orders – Filter by name, type, status, project, priority, creator, and assignee
List pending work orders – Shortcut for work orders with pending status (status 4)
Search work reports – Filter by report ID, model, or date
List work reports by date – Retrieve reports for a specific date (YYYY-MM-DD or DD/MM/YYYY)
List today's work reports – Retrieve today's reports, respecting a configured timezone
Write Capabilities:
Create work order – With name, project, type, description, priority, and ERP ID
Create user – With credentials, roles, and permissions
Create project – Optionally linked to a client
Create client – With contact and identification details
Deployment modes: Runs locally via stdio for desktop clients, or remotely via HTTP with OAuth support for hosted clients (e.g., ChatGPT Apps). All operations are scoped to the configured Itcons.app workspace.
Click on "Install 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., "@Itcons.app MCP Servershow me today's work reports"
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.
Itcons.app MCP Server
Model Context Protocol server for connecting AI assistants to Itcons.app.
Itcons.app is a business operations platform for managing work reports, work orders, projects, clients, users, and related operational resources. It is designed to help teams digitize field and office workflows around daily reports, assignments, task tracking, and service execution.
This package can run in two modes:
Local
stdiomode for clients such as Codex, Claude Desktop, and other local MCP hosts.Remote HTTP mode for hosted MCP clients such as ChatGPT Apps or other clients that require a public HTTPS MCP endpoint.
With this MCP server, an assistant can query Itcons.app data, search work reports and work orders, list operational catalogs such as statuses, users, resources, projects, and clients, and create supported Itcons.app records when the configured user has permission to do so.
Features
Authenticate with
POST /api/login_check.Use Bearer authentication for Itcons.app API calls.
Resolve the API base URL from
ITCONS_DOMAIN.List statuses, users, resources, clients, projects, work order types, and work report models.
Search work reports and work orders.
Create clients, projects, users, and work orders.
Webhooks are intentionally not included in this MCP server. The remote HTTP mode is for MCP client traffic, not inbound Itcons.app webhook delivery.
Installation
From npm:
npm install -g @itcons-app/mcpFrom this repository:
npm install
npm run checkIf Node was installed with Homebrew and node/npm are not in your PATH, use:
/opt/homebrew/opt/node/bin/npm install
/opt/homebrew/opt/node/bin/npm run checkConfiguration
The local stdio server reads Itcons.app credentials from environment variables.
ITCONS_DOMAIN=demo
ITCONS_USERNAME=user@example.com
ITCONS_PASSWORD=change-me
ITCONS_TIMEZONE=Europe/MadridFor https://demo.itcons.app, set:
ITCONS_DOMAIN=demoYou may use an existing Bearer token instead of username/password:
ITCONS_DOMAIN=demo
ITCONS_TOKEN=ey...ITCONS_API_BASE_URL is optional. If omitted, the server uses:
https://ITCONS_DOMAIN.itcons.app/apiMCP Client Example
Example configuration using a globally installed package:
{
"mcpServers": {
"itcons-app": {
"command": "itcons-app-mcp",
"env": {
"ITCONS_DOMAIN": "demo",
"ITCONS_USERNAME": "user@example.com",
"ITCONS_PASSWORD": "change-me",
"ITCONS_TIMEZONE": "Europe/Madrid"
}
}
}
}Remote HTTP Server
Start the remote MCP server:
PORT=3000 \
HOST=127.0.0.1 \
ITCONS_MCP_PUBLIC_URL=https://mcp.example.com \
ITCONS_OAUTH_CLIENT_ID=itcons-app-chatgpt \
ITCONS_OAUTH_CLIENT_SECRET=change-me \
npm run start:httpThe remote server exposes:
MCP Streamable HTTP endpoint:
https://mcp.example.com/mcpReports-only MCP endpoint for public ChatGPT apps:
https://mcp.example.com/reports-mcpSSE-compatible endpoint:
https://mcp.example.com/sseOAuth authorize URL:
https://mcp.example.com/oauth/authorizeOAuth token URL:
https://mcp.example.com/oauth/tokenOAuth dynamic client registration URL:
https://mcp.example.com/oauth/registerHealth check:
https://mcp.example.com/health
For ChatGPT's "Create app" screen, use the public MCP URL:
https://mcp.example.com/mcpFor a narrow public app focused only on work reports, use:
https://mcp.example.com/reports-mcpIf a client specifically asks for an SSE URL, use:
https://mcp.example.com/sseWhen the user connects the app, the OAuth login page asks for their Itcons.app email and password. If ITCONS_DOMAIN_LOOKUP_URL is configured, the page tries to detect the Itcons.app domain from the email; otherwise the user can type the domain manually. The server validates those credentials with Itcons.app and stores an in-memory session token for subsequent MCP calls.
Example configuration using a local checkout:
{
"mcpServers": {
"itcons-app": {
"command": "node",
"args": [
"/absolute/path/to/itcons-app-mcp/src/index.js"
],
"env": {
"ITCONS_DOMAIN": "demo",
"ITCONS_USERNAME": "user@example.com",
"ITCONS_PASSWORD": "change-me",
"ITCONS_TIMEZONE": "Europe/Madrid"
}
}
}
}Tools
Read-only tools:
itcons_check_connectionitcons_list_workorder_typesitcons_list_work_report_modelsitcons_list_projectsitcons_list_clientsitcons_list_statusesitcons_list_usersitcons_list_resourcesitcons_search_workordersitcons_list_pending_workordersitcons_search_work_reportsitcons_list_work_reports_by_dateitcons_list_today_work_reports
Create tools:
itcons_create_workorderitcons_create_useritcons_create_projectitcons_create_client
Reports-only profile tools exposed by /reports-mcp:
itcons_check_connectionitcons_list_work_report_modelsitcons_search_work_reportsitcons_list_work_reports_by_dateitcons_list_today_work_reports
Tool annotations:
Read-only tools set
readOnlyHint: true,destructiveHint: false, andopenWorldHint: falsebecause they only read private Itcons.app data.Create tools set
readOnlyHint: false,destructiveHint: false, andopenWorldHint: falsebecause they create records only inside a private Itcons.app workspace and do not publish to public internet surfaces.
Environment Variables
Variable | Required | Description |
| Yes | Installation subdomain. For |
| Yes, unless | Itcons.app username or email. |
| Yes, unless | Itcons.app password. |
| No | Existing Bearer token. If set, login is skipped. |
| No | Alternative API base URL. |
| No | Time zone used by |
| No | HTTP server port. Defaults to |
| No | HTTP server bind host. Defaults to |
| Yes for remote mode | Public HTTPS origin, for example |
| No | Remote MCP endpoint path. Defaults to |
| No | SSE-compatible endpoint path. Defaults to |
| Recommended for remote mode | Comma-separated allowed Host headers, for example |
| No | OAuth client ID expected by the remote server. Defaults to |
| Recommended for remote mode | OAuth client secret expected by the remote server. |
| Recommended for public apps | JSON file used to persist dynamically registered OAuth clients. |
| No | Endpoint used to detect the Itcons.app domain from an email. Defaults to |
| No | Set to |
Notes
Work order pending status is
4.itcons_search_workordersfetches/workordersand applies filters locally.itcons_list_work_reports_by_datefilters on thedatefield returned by/2.0/partes.itcons_create_workordersendsstatus: 4andisArchived: 0.itcons_create_usersends an array payload to/2.0/users, matching the current API.itcons_create_clientsends an array payload to/clientsand returns the first array item when applicable.
Development
Run syntax checks:
npm run checkRun a local MCP discovery smoke test:
npm run smokeRun a local HTTP MCP smoke test:
npm run smoke:httpRun a live read-only HTTP smoke test against Itcons.app:
ITCONS_DOMAIN=demo \
ITCONS_USERNAME=user@example.com \
ITCONS_PASSWORD=change-me \
npm run smoke:http:liveRun a live OAuth smoke test that simulates a ChatGPT-style connection:
ITCONS_DOMAIN=demo \
ITCONS_USERNAME=user@example.com \
ITCONS_PASSWORD=change-me \
npm run smoke:oauth:liveRun a live read-only smoke test against Itcons.app:
ITCONS_DOMAIN=demo \
ITCONS_USERNAME=user@example.com \
ITCONS_PASSWORD=change-me \
npm run smoke:livePublish the public npm package:
npm publish --access publicSecurity
Do not commit .env files or real credentials. The package excludes .env, node_modules, and debug logs from npm publication.
Create tools perform real writes in Itcons.app. Use them only with credentials and installations where the MCP client is allowed to make changes.
The built-in remote OAuth implementation stores authorization codes and access tokens in memory. Use a single Node.js process for the first deployment, or replace the in-memory maps with persistent storage such as Redis before running multiple replicas.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/itcons-app/mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server