2.4. Setup Guidance

Prerequisites

Before setting up the Orbit MCP, ensure you have:

  1. Active LLM chatbot with MCP support: Your AI assistant (Claude, or other compatible LLM platforms) must have MCP capabilities enabled

  2. Orbit Insight subscription: Active subscription to Orbit Insight platform with MCP access included


MCP Server URL

Use the following URL when configuring your MCP client:

https://mcp.orbitfin.ai/server/mcp

This is the endpoint your AI assistant will connect to for accessing Orbit's financial research tools.


Authentication

OAuth (Recommended)

Orbit MCP uses OAuth 2.0 for secure authentication with AI assistants like Claude Desktop, GitHub Copilot, and other MCP-compatible clients.

How It Works

  1. Configure the Server Add Orbit MCP connection URL to your AI client's configuration file.

  2. Automatic Login Redirect On first use, you'll be redirected to the Orbit authentication page in your browser.

  3. Enter Credentials Log in with your Orbit Insight account (email and password).

  4. Automatic Token Management After successful login:

    • Orbit generates a secure bearer token

    • Your client automatically stores and manages the token

    • You're redirected back to your AI assistant


API Key

Orbit MCP supports API Key authentication as a simpler alternative to OAuth.

Usage

Add to request header:

X-API-Key: <your_orbit_api_key>

Use Cases

  • Local tools/scripts

  • Automation workflows

  • Development/testing

Example

curl -X POST https://mcp.orbitfin.ai/server/mcp \
  -H "Content-Type: application/json" \
  -H "X-API-Key: <your_orbit_api_key>" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/call",
    "params": {
      "name": "example_tool",
      "arguments": {}
    }
  }'

Security

⚠️ Keep your API Key confidential. Never commit to public repos or expose in client apps.


Step 1: Manage Connectors

Go to https://claude.ai/settings/connectors and click on "Organization connectors" on the top right to manage your Claude Connectors.

Note: If you are part of an organization, you may need your administrators to set up the connector before you can use it.

Step 2: Add Custom Connector

Click on "Add custom connector" and add the Orbit MCP server details:

  • Server URL: https://mcp.orbitfin.ai/server/mcp

  • Integration Name: "Orbit Research" (or your preferred name)

Step 3: Enable Orbit MCP

Go to New Chat in Claude and click Connect in the Search and Tools menu.

Step 4: Login at Orbit

When connecting to the Orbit MCP server, Claude will automatically redirect you to the Orbit MCP Login Page. Simply enter your registered Orbit Insight email address and password on this authentication page.

Upon successful login verification, you'll be redirected back to Claude with full authentication established for the Orbit MCP connection.

Step 5: Verify Enabled Tools

Back in Claude/ChatGPT, you can verify if all Orbit MCP tools are correctly available:

The following tools should be visible:

  • analyze_query_intent: understand question, identify companies mentioned in questions, breakdown into sub questions.

  • synthesize_research_report: generate final answers and return with references.


Testing the Integration

Once setup is complete, test with these progressive queries:

  1. Basic Test:

    "What is Apple's total revenue for the most recent quarter?"

    Expected: Single data point from latest 10-Q

  2. Comparison Test:

    "Compare Microsoft and Google's operating margins"

    Expected: Side-by-side comparison with source citations

  3. Complex Analysis:

    "Analyze Tesla's cash flow trends and capital efficiency over the past year"

    Expected: Multi-step analysis with tables and trends


Setup on Microsoft Copilot

Troubleshooting Common Issues

Issue
Possible Cause
Solution

"Authentication failed"

Invalid credentials

Verify Orbit Insight account is active and credentials are correct

"Connector not available"

Organization restrictions

Contact your IT administrator to enable MCP connectors

"OAuth redirect failed"

Browser blocking popups

Allow popups from mcp.orbitfin.ai

"Token expired" error

Bearer token older than 24 hours

Re-authenticate or generate new token

"Tools not showing"

Incomplete setup

Disconnect and reconnect the MCP integration

"Server URL not reachable"

Network restrictions

Verify firewall allows access to mcp.orbitfin.ai

"Rate limit exceeded"

Too many requests

Wait 60 seconds; check your subscription tier limits

"Company not found"

Company not in database

Verify company is publicly traded with recent filings

Setup on Semantic Kernel

SDK Demo For Python

import asyncio

from semantic_kernel.kernel import Kernel
from semantic_kernel.agents import ChatCompletionAgent
from semantic_kernel.connectors.mcp import MCPStreamableHttpPlugin
from semantic_kernel.connectors.ai.open_ai import OpenAIChatCompletion


TASK = "What are the news on Nvidia?"
api_key = "your-open-ai-key"
x_api_key = "your-orbit-x-api-key"

async def main() -> None:
    kernel = Kernel()

    chat_service = OpenAIChatCompletion(
            service_id="openai",
            api_key=api_key,
            ai_model_id="gpt-5-mini",
        )
    kernel.add_service(chat_service)

    async with MCPStreamableHttpPlugin(
        name="orbit_mcp",
        description="OrbitFin MCP server",
        url="https://mcp.orbitfin.ai/server/mcp",
        headers={
            "X-API-Key": x_api_key,
            "Content-Type": "application/json",
            "User-Agent": "SemanticKernel-MCP/1.0",
        },
    ) as mcp_plugin:
        kernel.add_plugin(mcp_plugin)

        agent = ChatCompletionAgent(
            service=chat_service,
            kernel=kernel,
            name="OrbitFin_MCP_Agent",
            instructions="""You are a helpful financial research agent that can use MCP tools to analyze queries and synthesize research reports."""
        )

        try:
            print(f"# User: '{TASK}'\n")
            print("# Agent Response:")
            print("-" * 80)

            async for response in agent.invoke_stream(messages=TASK):
                print(f"{response.content}", end="", flush=True)

            print("\n" + "-" * 80)
            print("\n# Task completed successfully!")

        except Exception as e:
            print(f"\n\n# Error occurred: {e}")
            import traceback
            traceback.print_exc()


if __name__ == "__main__":
    asyncio.run(main())

Last updated