A Model Context Protocol (MCP) server that provides integration with the S&P Global iLevel API for private markets portfolio monitoring and management.
This is a template/skeleton implementation based on discovered API endpoints and public information about iLevel. To make this MCP server fully functional, you will need:
- Access to iLevel API - You must be an S&P Global iLevel customer
- API Credentials - Contact iLevel support to enable API access on your account
- API Documentation - Access to the official iLevel API documentation to:
- Verify endpoint paths and authentication methods
- Understand request/response schemas
- Confirm available query parameters and filters
- Update placeholder implementations marked with
TODOcomments
This MCP server provides tools for:
- Users Management - Get users and user details
- Clients Management - Get clients and client information
- Portfolio Data - Access portfolio information
- Assets & Funds - Query assets, funds, and investments
- Documents - Access and retrieve documents
- Valuations - Get and create valuations
- Calculations - Access calculation results
- Data Retrieval - Query data using the data retrieval API
- Webhooks - Manage webhook subscriptions
- Custom Requests - Make requests to any API endpoint
- Node.js 18.0.0 or higher
- npm or yarn
- S&P Global iLevel account with API access enabled
- iLevel API credentials (username and password/API key)
-
Clone or navigate to this directory:
cd ilevel-mcp-server -
Install dependencies:
npm install
-
Configure environment variables:
cp .env.example .env
-
Edit
.envfile with your iLevel API credentials:ILEVEL_BASE_URL=https://clients.ilevelsolutions.com ILEVEL_USERNAME=your_username ILEVEL_PASSWORD=your_password_or_api_key ILEVEL_SANDBOX=false
-
Build the project:
npm run build
Start the server using:
npm startFor development with automatic rebuild:
npm run devAdd this server to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"ilevel": {
"command": "node",
"args": ["/absolute/path/to/ilevel-mcp-server/build/index.js"],
"env": {
"ILEVEL_BASE_URL": "https://clients.ilevelsolutions.com",
"ILEVEL_USERNAME": "your_username",
"ILEVEL_PASSWORD": "your_password",
"ILEVEL_SANDBOX": "false"
}
}
}
}If you're using the Claude Code CLI, you can configure the MCP server in ~/.config/claude/mcp_settings.json:
{
"mcpServers": {
"ilevel": {
"command": "node",
"args": ["/absolute/path/to/ilevel-mcp-server/build/index.js"],
"env": {
"ILEVEL_BASE_URL": "https://clients.ilevelsolutions.com",
"ILEVEL_USERNAME": "your_username",
"ILEVEL_PASSWORD": "your_password",
"ILEVEL_SANDBOX": "false"
}
}
}
}test_connection- Test connection to the iLevel API
get_users- Get a list of usersget_user- Get details of a specific user by ID
get_clients- Get a list of clientsget_client- Get details of a specific client by ID
get_portfolios- Get portfolio data
get_assets- Get assetsget_funds- Get fundsget_investments- Get investments
get_documents- Get documentsget_document- Get a specific document by ID
get_valuations- Get valuationscreate_valuation- Create or update a valuation
get_calculations- Get calculations
query_data- Query data using the data retrieval API
get_webhooks- Get configured webhookscreate_webhook- Create a new webhookdelete_webhook- Delete a webhook
custom_request- Make a custom request to any iLevel API endpoint
Once configured, you can use these tools in Claude:
Claude, using the iLevel MCP server:
1. Test the connection to iLevel API
2. Get a list of all clients
3. Show me the portfolios for client ID "12345"
4. Get all documents related to fund "ABC-Fund-2023"
Claude will automatically use the appropriate MCP tools to fulfill these requests.
This is a skeleton implementation. To make it production-ready, you need to:
- File:
src/ilevel-client.ts - Verify the authentication mechanism (currently using Basic Auth)
- Update if iLevel uses OAuth, API keys, or another method
- Review all endpoint paths in
src/ilevel-client.ts - Confirm they match the actual iLevel API documentation
- Update base URL structure if needed
- Define TypeScript interfaces for API responses
- Add validation using Zod schemas
- Improve type safety throughout
- Add proper pagination handling for list endpoints
- Implement cursor-based pagination if supported
- Implement retry logic for transient failures
- Add rate limiting if needed
- Better error messages and logging
- Review the iLevel API documentation
- Add any missing endpoints
- Implement POST/PUT/DELETE operations as needed
- Write unit tests for the API client
- Add integration tests for MCP tools
- Mock API responses for testing
- Document actual request/response schemas
- Add examples for each tool
- Document any API limitations or quirks
To get access to the iLevel API:
-
Contact iLevel Support:
- Login to your iLevel account at https://clients.ilevelsolutions.com
- Navigate to the support section
- Request API access for your account
-
Obtain Credentials:
- Request a username and API key/password
- Ask for API documentation access
- Request access to the API documentation portal
-
Access Documentation:
- Documentation URL: https://docs.ilevelsolutions.com (requires authentication)
- Request the OpenAPI/Swagger specification if available
- Download the API Web Services Guide
-
Test Your Access:
- Use the credentials to test the connection
- Verify you can access the API endpoints
- Review any rate limits or usage restrictions
Based on research, iLevel has both SOAP and REST APIs:
- WSDL: https://services.ilevelsolutions.com/DataService/Service/2019/Q1/DataService.svc?singleWsdl
- Documentation: Web Services Guide (PDF) - available from iLevel support
- Base URLs (examples, verify with support):
- Production:
https://clients.ilevelsolutions.com/api/v1/ - Sandbox:
https://sandapi.ilevelsolutions.com/api/v1/
- Production:
- Swagger/OpenAPI: Available at
/apidocsendpoint (requires authentication)
This is a template implementation. Contributions are welcome to:
- Add verified API endpoints from official documentation
- Improve error handling and type safety
- Add tests and examples
- Update documentation with actual API behavior
MIT
This MCP server is an unofficial integration and is not affiliated with, endorsed by, or supported by S&P Global or iLevel Solutions. Use at your own risk. Always refer to the official iLevel API documentation for accurate information.
For issues with this MCP server:
- Open an issue in this repository
For iLevel API issues:
- Contact S&P Global iLevel Support
- Visit: https://clients.ilevelsolutions.com