How to Integrate a New Data Provider Beyond Pre-Configured MCP Connectors in Claude Financial Services
You can integrate a custom data provider into Claude Financial Services by adding a new MCP server entry to the .mcp.json configuration file, documenting the connector, and running the repository validation scripts—no changes to skill code are required.
Claude Financial Services uses the Model Context Protocol (MCP) to communicate with external data sources. While the platform ships with pre-configured connectors for providers like Daloopa and LSEG, you can extend it to support any custom data provider by modifying the central MCP registry in the anthropics/financial-services repository.
Where MCP Connectors Are Defined
All data provider connections are centralized in the JSON configuration at plugins/vertical-plugins/financial-analysis/.mcp.json. This file maintains the "mcpServers" object that maps provider names to their endpoint URLs and authentication details.
According to the source code, each entry in this registry specifies:
- The server type (typically
"http") - The base URL for MCP requests
- Optional authentication headers using environment variable substitution
Skills consume these providers through the generic mcp_* tool prefix, meaning you can add new data sources without modifying any skill implementation code.
Step-by-Step Integration Process
1. Edit the MCP Configuration
Open plugins/vertical-plugins/financial-analysis/.mcp.json and add a new entry under the "mcpServers" object. Follow the existing JSON structure, adding a comma after the previous entry:
{
"mcpServers": {
"daloopa": {
"type": "http",
"url": "https://mcp.daloopa.com/server/mcp"
},
"my-new-provider": {
"type": "http",
"url": "https://api.mynewprovider.com/mcp",
"authHeaders": {
"Authorization": "Bearer ${MY_NEW_PROVIDER_TOKEN}"
}
}
}
}
The ${MY_NEW_PROVIDER_TOKEN} syntax allows the runtime to inject secrets from environment variables, keeping credentials out of version control.
2. Document the Connector
If you are creating a partner-specific plugin, create a CONNECTORS.md file in your plugin directory (e.g., plugins/partner-built/your-provider/CONNECTORS.md) using the LSEG connector documentation as a template. For core vertical additions, update the connectors table in the top-level README.md to surface the new provider to users.
3. Validate and Sync
Run the repository validation script to ensure your new entry resolves correctly:
python3 scripts/check.py
A successful validation outputs:
OK — <n> file(s) checked, 0 issues.
Next, synchronize the changes with bundled agent plugins:
python3 scripts/sync-agent-skills.py
This script propagates the updated .mcp.json into each agent-plugin's skills/ directory, ensuring Managed Agents can access the new provider when deployed.
Using Custom Providers in Skills
Once configured, skills invoke your custom provider using the standard mcp_* tool pattern. The tooling automatically routes requests based on the provider name defined in .mcp.json.
For example, to query historical equity data from your new provider:
mcp_qa_historical_equity_price --provider my-new-provider --ticker AAPL
The skill code requires no modifications because the mcp_* tooling abstracts the underlying provider implementation. As implemented in anthropics/financial-services, the runtime resolves the --provider flag against the central registry and handles authentication header injection automatically.
Key Files Reference
plugins/vertical-plugins/financial-analysis/.mcp.json— Central registry where you define new MCP servers and their endpoints.scripts/check.py— Validates that all MCP references resolve to real files and that the JSON syntax is correct.scripts/sync-agent-skills.py— Copies updated skill configurations into bundled agent plugins for Managed Agent deployments.plugins/partner-built/lseg/CONNECTORS.md— Reference template for documenting partner-specific connectors.
Summary
- Integrate a new data provider by adding a JSON object to the
"mcpServers"section in.mcp.json. - Use environment variable syntax like
${TOKEN}inauthHeadersto keep secrets out of the repository. - Validate changes using
python3 scripts/check.pybefore committing. - Sync agents with
python3 scripts/sync-agent-skills.pyto deploy changes to Managed Agents. - Consume the provider immediately in any skill using
mcp_*tools without code modifications.
Frequently Asked Questions
Do I need to modify skill code to use a custom data provider?
No. Skills that use the mcp_* tool prefix (such as mcp_qa_historical_equity_price) automatically recognize new providers added to .mcp.json. You only need to pass the provider name as a parameter when invoking the tool.
Where should I store API keys for the new data provider?
Store sensitive tokens in environment variables outside the repository, then reference them in .mcp.json using the ${VARIABLE_NAME} syntax. The plug-in runtime expands these variables at execution time, keeping credentials out of version control.
Can I add a provider without modifying the core vertical plugin?
Yes. You can create a new partner plugin under plugins/partner-built/your-provider/ with its own .mcp.json file and CONNECTORS.md documentation. This approach isolates proprietary integrations from the core financial-analysis vertical.
How do I verify that my MCP configuration is valid?
Run python3 scripts/check.py from the repository root. This script lints the manifest and verifies that every system.file, skills.path, and MCP reference resolves to an actual file, catching syntax errors or broken paths before deployment.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →