MCP ERPNext
Provides tools for managing ERPNext entities including timesheets (create, edit, submit, cancel), leave applications (apply, check balance, submit, cancel), projects and tasks listing, and software release creation with auto-detection from GitLab MRs.
Enables retrieval of merge request details including Redmine IDs, version, patch URLs, and test reports to automate software release creation in ERPNext.
Allows fetching issue titles and details to populate software release fields automatically during release creation.
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., "@MCP ERPNextCreate weekly timesheet for project PROJ-0460"
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.
MCP ERPNext
Model Context Protocol (MCP) server for ERPNext - manage timesheets, leave applications, projects, and software releases via Claude, Gemini, or any MCP-compatible AI assistant.
Features
Timesheets: Create, edit, submit, and manage timesheets
Leave Applications: Apply for leave, check balances, manage applications
Projects: List projects and tasks
Software Releases: Create release documents from GitLab merge requests with auto-detection
Smart Validation: Automatic overlap detection for time entries
Draft Editing: Full support for editing draft timesheets
Related MCP server: ERPNext MCP Server
Installation
Via npm (recommended)
npm install -g mcp-erpnextFrom source
git clone https://github.com/sharat9703/mcp-erpnext-taiga-gitlab-redmine.git
cd mcp-erpnext
npm installConfiguration
1. Set up credentials
Create a .env file or set environment variables:
ERPNEXT_URL=https://your-erpnext-instance.com
ERPNEXT_USERNAME=your-email@example.com
ERPNEXT_PASSWORD=your-password
ERPNEXT_TOTP_SECRET=your-totp-secret # Optional, for 2FA
# For Software Releases (optional)
GITLAB_URL=https://gitlab.example.com
GITLAB_TOKEN=your-gitlab-personal-access-token
REDMINE_URL=https://redmine.example.com
REDMINE_API_KEY=your-redmine-api-key # For auto-fetching ticket titles2. Configure your AI client
Claude Desktop (~/.claude/claude_desktop_config.json or %APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"erpnext": {
"command": "npx",
"args": ["mcp-erpnext"],
"env": {
"ERPNEXT_URL": "https://your-erpnext-instance.com",
"ERPNEXT_USERNAME": "your-username",
"ERPNEXT_PASSWORD": "your-password"
}
}
}
}Or from local installation:
{
"mcpServers": {
"erpnext": {
"command": "node",
"args": ["/path/to/mcp-erpnext/src/index.js"]
}
}
}Gemini CLI (~/.gemini/settings.json):
{
"mcpServers": {
"erpnext": {
"command": "npx",
"args": ["mcp-erpnext"],
"env": {
"ERPNEXT_URL": "https://your-erpnext-instance.com",
"ERPNEXT_USERNAME": "your-username",
"ERPNEXT_PASSWORD": "your-password"
}
}
}
}Usage Examples
Once configured, you can ask your AI assistant:
Create weekly timesheet for project PROJ-0460Show my draft timesheetsSubmit timesheet TS-2025-00123Apply for leave from Dec 25 to Dec 27Update time log 0 in timesheet TS-2025-00123 to 8 hoursCreate software release for https://gitlab.example.com/project/-/merge_requests/123
using template https://erp.example.com/app/software-release/Product-v1.0.0See USAGE.md for complete examples.
Available Tools
Timesheets
Tool | Description |
| Create weekly timesheet (7h billable + 2h non-billable/day) |
| Create custom timesheet |
| Create timesheet with specific entries |
| List timesheets with filters |
| Get timesheet details |
| Get current user's draft timesheets |
| Edit a time entry in draft timesheet |
| Remove a time entry from draft |
| Update timesheet note |
| Delete draft timesheet |
| Submit for approval |
| Cancel timesheet |
Leave Applications
Tool | Description |
| Apply for leave |
| List leave applications |
| Get pending leave applications |
| Check leave balance |
| Submit for approval |
| Cancel leave application |
Core
Tool | Description |
| Authenticate with ERPNext |
| Get logged-in user's employee record |
| List projects |
| List tasks for a project |
| List available activity types |
Software Releases
Tool | Description |
| Preview release before creating - shows all fields and sources |
| Create release from GitLab MR with auto-detection |
| Get MR details (Redmine IDs, patches, version) |
| Get Redmine ticket title |
| Get existing release (use as template) |
| List recent releases |
| List available products |
| List available customers |
Key Features
Time Entry Overlap Prevention
The server automatically validates that time entries don't overlap:
Error: Time entries have overlapping times:
Time entry 1 (Billable Work: 2025-12-02 10:00:00 - 17:00:00) overlaps with
entry 2 (Non Billable Work: 2025-12-02 15:00:00 - 17:00:00)Draft Editing
Edit draft timesheets before submission:
Update hours, times, project, activity type
Remove individual time entries
Update notes
Delete entire draft
Software Release Auto-Detection
Create software releases from GitLab MRs with intelligent auto-detection:
Template-based: Use existing release as template (auto-fills Product, Customer, Reviewer)
Redmine IDs: Auto-extracted from MR description tables (
| 1. | #124323 | Title |)Redmine Titles: Auto-fetched from Redmine API if configured
Version: Auto-detected from branch name (e.g.,
release-v1.0.0.12)Customer: Auto-detected from GitLab project path
Patch URLs: Auto-extracted from MR notes/attachments
Test Reports: Auto-extracted from MR notes/attachments
Project Structure
mcp-erpnext/
├── src/
│ ├── index.js # Entry point
│ ├── erpnext-client.js # ERPNext API client
│ ├── gitlab-client.js # GitLab API client (for software releases)
│ ├── redmine-client.js # Redmine API client (for ticket titles)
│ ├── resources.js # MCP resources
│ ├── definitions/ # Tool schemas
│ ├── handlers/ # Tool handlers
│ ├── tools/ # Business logic
│ └── formatters/ # Response formatters
├── .env.example
├── package.json
├── README.md
└── USAGE.mdContributing
Contributions are welcome! Please feel free to submit a Pull Request.
Fork the repository
Create your feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
License
MIT License - see LICENSE file for details.
Author
Sharat Yaragatti - GitHub
This server cannot be installed
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/sharat9703/mcp-erpnext-taiga-gitlab-redmine'
If you have feedback or need assistance with the MCP directory API, please join our Discord server