indicus-ai-mcp-tools
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@indicus-ai-mcp-toolsShow open SOC alerts and their severity."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
indicus-ai-mcp-tools
Demo services for the IndicusAI platform, served two ways at once:
REST, at
/soc,/utility,/payer,/iam— registered as built-in custom HTTP tools, one tool per endpointMCP, at
/mcp— one connector carrying every tool on the server
Both surfaces call the same functions over the same fixtures. That is the point: a demo comparing built-in tools against MCP proves nothing if the two run on different data, because any difference could be blamed on the data.
Run it
python3 -m venv .venv && .venv/bin/pip install -e .
.venv/bin/uvicorn mcp_server:app --port 8304
curl -s localhost:8304/health | python3 -m json.toolOr docker compose up -d, which joins the platform's network so the platform
reaches it as http://mcp-tools:8304.
Related MCP server: Http-tools Universal MCP Server
Adding a tool
One edit:
@app.get("/widgets/{widget_id}", operation_id="getWidget",
summary="Fetch one widget")
def get_widget(widget_id: str) -> dict:
"""What the model reads to decide whether to call this."""
...It is now a REST endpoint and an MCP tool called soc_getWidget. Nothing
else to register — mcp_server walks the routes and every one carrying an
operation_id becomes a tool. A route without one is skipped, which is how the
audio download stays out of the tool list.
Three things the wrapper handles, each learned by hitting it:
Names are
{service}_{operationId}. MCP names are flat across a server while operation_ids are unique only per service. SOC and IAM both definegetIdentity; unprefixed, the second silently replaced the first and an agent asking for a SOC identity got IAM's answer.HTTPExceptionbecomes a value, not a protocol error. Over REST a 404 is the response; over MCP there are no status codes, so an uncaught one reads as a broken server.{"error": "No alert ALT-9999.", "status": 404}is a fact the model can act on.Annotations are resolved eagerly.
from __future__ import annotationsmakes them strings, which pydantic resolves through the handler's own module globals — not something a wrapper can inherit.
A new service
Write the FastAPI app in services/, then add it to SERVICES in
mcp_server.py. That is the whole procedure.
Onboarding these tools into IndicusAI
What a tool is on that platform, the three ways one gets there, and how to build both demos' agents and pipelines in the UI: demo-data-setup.md, in the platform repository — that side of it is all IndicusAI, and this repository only supplies the endpoints.
Testing the DISCOM agents
discom-agent-tests.md, in the platform repository — the walkthrough is done in that UI, and sits with the other platform documents. It takes all ten through the browser one input at a time, with what a correct answer contains and the wrong answer each case is designed to catch.
The expected figures in it come from services/discom_data.py here, so a
change to a fixture means a change to that document.
Seeding a demo
seeds/ builds the workspace, skills, agents and pipeline in the platform.
They log in as demo@example.com, so scripts/seed.py in the platform repo
runs first.
On a deployment, run them inside the container — it already has the code and its dependencies, and the compose file sets both hostnames:
docker compose exec mcp-tools python seeds/soc.py
docker compose exec mcp-tools python seeds/utility.pyOn a laptop, where the platform and these services are both on localhost:
.venv/bin/python seeds/soc.py
.venv/bin/python seeds/utility.pyTwo hostnames decide where a seed points, and both default to 127.0.0.1,
which is correct only on a laptop — inside a container it is the container:
PLATFORM_API_URL— the platform being seeded,http://api:8000/api/v1over the compose networkDEMO_HOST— what goes into the registered tool URLs and theirallowed_hostspin,mcp-toolsover the compose network
The recordings
services/generate_visit_recordings.py uses macOS say and cannot run on
Linux. Generate on a Mac, copy data/recordings/ to the deployment. data/
is gitignored — the fixtures are derived, not source.
Only the utility demo needs them, and only to run a visit end to end; seeding works without.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Hosted MCP endpoint with realistic fake data for prototyping agents. 12 tools, no setup.
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
Hosted MCP server exposing US hospital procedure cost data to AI assistants
Pay-per-use tool marketplace for AI agents. Search, price-check, and call APIs via MCP.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceTurns any OpenAPI/Swagger API into MCP tools, enabling AI assistants to call REST API endpoints directly.2MIT
- AlicenseNot gradedqualityDmaintenanceProvides a standardized MCP interface for interacting with HTTP tools and services, enabling unified API access and management.MIT
- FlicenseNot gradedqualityDmaintenanceConverts any REST API endpoints into MCP tools, enabling AI clients like Cursor and Claude Desktop to call internal services directly.
- FlicenseNot gradedqualityCmaintenanceEnables LLM-powered agents to securely communicate with and orchestrate downstream microservices via FastAPI endpoints exposed as MCP tools.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/shatrunjaysingh/indicus-ai-mcp-tools'
If you have feedback or need assistance with the MCP directory API, please join our Discord server