Are you the author? Sign in to claim
procurement-mcp-server
A production-ready MCP (Model Context Protocol) server for Enterprise Procurement Intelligence. Provides AI-powered procurement policy compliance, document generation, supplier management, budget verification, and analytics through standardized MCP tools.
┌─────────────────────────────────────────────────────────────────────┐
│ MCP Client (OpenCode, Claude, etc.) │
└──────────────────────────────┬──────────────────────────────────────┘
│ MCP Protocol (stdio)
┌──────────────────────────────▼──────────────────────────────────────┐
│ MCP Server (StdioServerTransport) │
│ ┌────────────────────────────────────────────────────────────────┐│
│ │ Tool Router ││
│ │ tools/list | tools/call | Zod Validation | Auth/RBAC ││
│ └────────────────────────────────────────────────────────────────┘│
┌─────────┬──────────┬──────────┬─────────┬──────────┬──────────────┐│
│ Policy │ Planning │ Tender │ RFQ/RFP │ Supplier │ Bid Eval ││
│ & Comp │ │ Generator│ Author │ Risk │ ││
├─────────┼──────────┼──────────┼─────────┼──────────┼──────────────┤│
│ Contract│ Req/PO │ Budget │ 3-Way │ Perform │ Spend/Market││
│ Review │ │ Verify │ Match │ Analytics│ Analytics ││
├─────────┴──────────┴──────────┴─────────┴──────────┴──────────────┤│
│ RAG Pipeline (pgvector) ││
│ Document Ingest → Chunk → Embeddings → Vector Search → Citations ││
├───────────────────────────────────────────────────────────────────┤│
│ Integration Adapters ││
│ SAP │ Oracle │ Dynamics │ Odoo │ e-Proc │ SharePoint │ MinIO/S3 ││
└───────────────────────────────────────────────────────────────────-┘
# Install dependencies
npm install
# Copy environment variables
cp .env.example .env
# Edit .env with your configuration
# Start PostgreSQL and Redis
docker compose up -d postgres redis
# Run database migrations
npm run db:migrate
# Seed sample data
npm run db:seed
# Start the MCP server
npm run dev
# Start all services
docker compose up -d
# Run migrations
docker compose exec app npx prisma migrate deploy
# Seed data
docker compose exec app npm run db:seed
Add to your opencode.json:
{
"mcpServers": {
"procurement": {
"command": "node",
"args": ["path/to/procurement-mcp-server/dist/server.js"],
"env": {
"API_KEY": "your-api-key",
"DATABASE_URL": "postgresql://...",
"REDIS_URL": "redis://..."
}
}
}
}
Add to your Claude Desktop config:
{
"mcpServers": {
"procurement": {
"command": "node",
"args": ["path/to/procurement-mcp-server/dist/server.js"],
"env": {
"API_KEY": "your-api-key"
}
}
}
}
Configure the MCP server in the AI extension settings using the same command format.
| Variable | Description | Default |
|---|---|---|
DATABASE_URL | PostgreSQL connection string | Required |
REDIS_URL | Redis connection string | redis://localhost:6379 |
OPENAI_API_KEY | OpenAI API key for embeddings | Optional |
EMBEDDING_PROVIDER | Embedding provider (openai/local/mock) | mock |
API_KEY | MCP server API key | dev-key |
STORAGE_PROVIDER | Document storage (local/minio/s3) | local |
LOG_LEVEL | Logging level | info |
search_policy - Search procurement policies and regulationsask_compliance_question - Ask compliance questions with citationsexplain_clause - Explain procurement clauses in plain languagerecommend_procurement_method - Recommend procurement methodgenerate_compliance_checklist - Generate compliance checklistcompare_policy_versions - Compare policy document versionscreate_procurement_plan - Create procurement planvalidate_procurement_plan - Validate plan completenessgenerate_procurement_calendar - Generate procurement calendarforecast_procurement_needs - Forecast procurement needsreview_procurement_plan_compliance - Review plan compliancegenerate_tender_document - Generate tender documentgenerate_invitation_to_tender - Generate ITTgenerate_scope_of_work - Generate SoWgenerate_evaluation_criteria - Generate evaluation criteriagenerate_rfq - Generate Request for Quotationsgenerate_rfp - Generate Request for Proposalsassess_supplier_risk - Assess supplier riskverify_supplier_documents - Verify supplier documentsgenerate_supplier_scorecard - Generate supplier scorecardcheck_conflict_of_interest - Check conflicts of interestcheck_budget_availability - Check budget availabilityreserve_budget_commitment - Reserve budget commitmentbudget_utilization_summary - Budget utilization summarymatch_po_grn_invoice - Three-way matchingdetect_duplicate_invoice - Detect duplicate invoicesreview_contract - Review contract risksextract_contract_clauses - Extract all clausescompare_contract_to_template - Compare to templatespend_by_category - Spend analysis by categoryspend_by_supplier - Spend analysis by supplierdetect_maverick_spending - Detect maverick spendingget_market_price - Get market price intelligenceforecast_price_trend - Forecast price trendsaudit_procurement_file - Audit procurement filedetect_missing_documents - Detect missing documentsdetect_procurement_red_flags - Detect red flagslist_integrations - List available integrationsconnect_integration - Connect to ERP systemfetch_vendors_from_erp - Fetch vendors from ERP# Search procurement policies
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_policy","arguments":{"query":"open tendering threshold"}}}' | node dist/server.js
# Check budget availability
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"check_budget_availability","arguments":{"budgetCode":"BUD-IT-2024","amount":50000}}}' | node dist/server.js
# Generate compliance checklist
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"generate_compliance_checklist","arguments":{"procurementMethod":"Open Tendering","procurementCategory":"IT Equipment","estimatedValue":150000}}}' | node dist/server.js
# Run all tests
npm test
# Run with coverage
npm run test:coverage
# Watch mode
npm run test:watch
src/
├── server.ts # Entry point
├── config/env.ts # Environment configuration
├── common/ # Shared utilities (logger, errors, database)
├── auth/ # Authentication & RBAC
├── mcp/ # MCP server & tools
│ ├── index.ts # MCP server setup
│ └── tools/ # Tool implementations (17 categories)
├── modules/ # Business logic
│ ├── documents/ # Document management
│ ├── rag/ # RAG pipeline
│ ├── embeddings/ # Embedding service abstraction
│ ├── procurement/ # Procurement planning
│ ├── suppliers/ # Supplier management
│ ├── contracts/ # Contract management
│ ├── requisitions/ # Purchase requisitions
│ ├── purchase-orders/ # Purchase orders
│ ├── budgets/ # Budget management
│ ├── invoices/ # Invoice matching
│ ├── analytics/ # Spend & market analytics
│ ├── audit/ # Audit & compliance
│ └── integrations/ # ERP adapters
├── workers/ # Background workers (ingestion, embedding)
└── database/ # Database client
prisma/
├── schema.prisma # Database schema
└── seed.ts # Seed data
tests/ # Test files
docs/ # Documentation
docker/ # Docker configuration
See docs/DEPLOYMENT.md for production deployment guides including Docker, VPS, and Kubernetes.
MIT
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
Google's universal MCP server supporting PostgreSQL, MySQL, MongoDB, Redis, and 10+ databases
Official GitHub integration for repos, issues, PRs, and CI/CD workflows