Mcp

Overview

We have a number of MCP tools that we make available to external MCP clients.

MCP schema

Here you can find a schema describing our MCP server and the tools it makes available.

Schema

Authentication

To securely access the Efimis API, applications must use the OAuth2 client credential flow authentication mechanism.

The Client ID and Client Secret are issued by Efimis, authorizing an application to access the API.

The tenant must also enable the application in the settings area to grant it access to the tenant’s data.

See Authentication Guide for details on OAuth 2.0 flows and making authenticated requests.

Making an MCP Request

To call the MCP Server, include the access_token in the Authorization header for when initialising your MCP client.

Our MCP server relies on Tenant and User ID headers until User Authentication Flow is in place.

Example Request (Python)

Requirements: Any MCP Client (We use FastMCP Python Libary in this example)

python

import asyncio
from fastmcp import Client
from fastmcp.client import StreamableHttpTransport


# HTTP server
transport = StreamableHttpTransport(
    url="https://api.alpha.lfms.dev/mcp",
    headers={
        "Authorization": "Bearer <your-token>",
        "X-MCP-USER-ID": "<efimis-user-id>",
        "X-MCP-TENANT-ID": "<efimis-tenant-id>"
    }
)
client = Client(transport)

async def main():
    async with client:
        # Basic server interaction
        await client.ping()
        
        # List available operations
        tools = await client.list_tools()
        print(tools)
        
        # Execute operations
        result = await client.call_tool("generate_fee_analysis", {"query": "Who are the top 5 fee earners of all time?"})
        print(result)

asyncio.run(main())

Security Best Practices

  • Store credentials securely: Never expose Client IDs, Secrets, API Keys, or Tokens in frontend code.
  • Use HTTPS: Always send authentication requests over a secure connection.

Reach out to us at connections@efimis.com to get access to your own free sandbox environment and a developer key.