Lumipact MCP Server
A remote Model Context Protocol server that lets Claude, Cursor, and other MCP-compatible AI clients query your Lumipact workspace. Access is scoped to the entities and departments you explicitly authorize.
Overview
Transport
Streamable HTTP
Auth
OAuth 2.1 + PKCE
Access
Read-only (v1)
The server URL is https://lumipact.com/api/mcp. It follows the MCP specification and the OAuth 2.0 Authorization Server Metadata standard (RFC 8414), so any compliant MCP client can discover and connect to it automatically.
Quick start — Claude Desktop
Add the following to your Claude Desktop configuration file. Claude will prompt you to authorize via your Lumipact account on first use.
{
"mcpServers": {
"lumipact": {
"type": "http",
"url": "https://lumipact.com/api/mcp",
"authorization_server": "https://lumipact.com"
}
}
}On Windows the config file is at %APPDATA%\Claude\claude_desktop_config.json.
After restarting Claude Desktop, type something like "Show me contracts expiring in the next 30 days" — Claude will call list_alerts automatically.
Authorization
Lumipact uses OAuth 2.1 with PKCE. The discovery endpoint at https://lumipact.com/.well-known/oauth-authorization-server advertises all endpoints to compliant clients.
OAuth endpoints
Authorization flow
- 1
Redirect to authorization
Redirect the user to
/api/oauth/authorizewithresponse_type=code,client_id,redirect_uri,code_challenge(S256), andstate. - 2
User authorizes
The user sees a consent screen where they choose which entities (and optionally departments) to expose. They authenticate with their Lumipact account if not already logged in.
- 3
Receive authorization code
Lumipact redirects back to your
redirect_uriwith acodeparameter (valid for 10 minutes, single-use). - 4
Exchange for access token
POST /api/oauth/tokenwithgrant_type=authorization_code,code,code_verifier, andclient_id. Receive a Bearer token. - 5
Call the MCP server
Pass the token as
Authorization: Bearer <token>on every request to/api/mcp.
POST /api/oauth/token Content-Type: application/x-www-form-urlencoded grant_type=authorization_code &code=<authorization_code> &code_verifier=<pkce_verifier> &client_id=<your_client_id> &redirect_uri=https://yourapp.com/callback
{
"access_token": "lpt_...",
"token_type": "Bearer",
"scope": "contracts:read"
}Register an OAuth app
Go to Settings → Developer in your Lumipact workspace to register an OAuth app. You'll get a client_id and a client_secret (shown once — save it securely). Add one or more redirect URIs that Lumipact will accept after authorization.
Public clients (e.g. Claude Desktop) use PKCE without a client secret. Confidential clients (server-side apps) can include the secret in the token request for additional verification.
Ready to build an integration?
Open Developer settingsTools
All tools are read-only. Results are automatically filtered to the entities and departments the token was authorized for.
list_contractsList contracts with optional filters. Returns paginated results sorted by creation date.
Parameters
get_contractGet full details for a single contract by ID. Returns all metadata fields including value, dates, and renewal terms.
Parameters
search_contractsFull-text search across titles, counterparty names, and summaries.
Parameters
list_alertsGet active contracts with upcoming renewal dates within a look-ahead window. Results ordered by next_renewal_date ascending.
Parameters
get_statsGet aggregate statistics: total contract count, count by status, sum of total_value and annual_value across all accessible contracts.
list_entitiesList the entities (organizations) this token has access to.
list_departmentsList departments defined in this workspace.
Scoping & access control
Every token is scoped to one or more entities (organizations within your Lumipact workspace). Optionally, it can be further restricted to specific departments. This scope is chosen by the user during authorization and is fixed for the lifetime of the token.
- ·A token can never access contracts outside the entities selected at authorization time.
- ·If department_ids is set on a token, only contracts in those departments are returned.
- ·Tokens are workspace-specific — they cannot cross tenant boundaries.
- ·Revoking a token immediately blocks all future requests that use it.
Errors
MCP tool errors are returned as text content with an Error: … prefix rather than HTTP errors, so the AI client can surface them to the user.
