> ## Documentation Index
> Fetch the complete documentation index at: https://develop.cotality.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

Welcome to the Cotality MCP — a unified MCP server for accessing Cotality's property data, analytics, and risk intelligence. Connect once, discover available tools automatically, and integrate property insights directly into your AI agents and workflows.

## What is MCP?

The **Model context protocol (MCP)** is an open standard that defines how AI agents and LLM-powered applications discover and call external tools at runtime. Instead of building custom API integrations for each data source, an MCP client connects to an MCP server, receives a list of available tools with their schemas, and invokes them using a standard JSON-RPC interface.

This means your AI agent can dynamically discover what data is available and call the right tools without any hardcoded API logic.

## How Cotality MCP works

Cotality MCP is a single MCP endpoint. When you connect, it returns the tools available under your access token's scopes. You can then call any of those tools through the same connection to access all the Cotality property data and analytics tools your license includes.

## Transport: HTTP streaming

Cotality MCP uses **HTTP streaming** as its MCP transport. Your client opens a streaming HTTP connection to the MCP endpoint, and all MCP communication — tool discovery, tool calls, and responses — flows over that connection.

Most common MCP client libraries (e.g., MCP Python SDK) handle the transport automatically. You provide the endpoint URL and authentication, and the library manages the connection lifecycle.

## Session lifecycle

1. **Connect** — Your MCP client opens a streaming HTTP connection to the MCP endpoint with your bearer token.
2. **Initialize** — The client and server exchange capabilities. The MCP server confirms which protocol features are supported.
3. **Discover tools** — The client calls `tools/list` to receive the tools available under your scopes, including their names, descriptions, and input/output schemas.
4. **Call tools** — The client calls `tools/call` with a tool name and input parameters. The server executes the tool and returns the result.
5. **Disconnect** — The client closes the connection when done.

If the connection drops, re-establish it and start from step 1. There is no server-side session state to recover.

## Key concepts

| Concept            | Description                                                                                                                                                                                                                                                                                                                  |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **MCP**            | Model context protocol — an open standard for enabling AI agents and applications to dynamically discover and invoke external tools at runtime. Defines how clients and servers communicate tool schemas and execute tool calls in a consistent, interoperable way.                                                          |
| **HTTP streaming** | The transport mechanism used by the MCP server. Instead of sending individual HTTP requests for each operation, the client opens a persistent streaming connection. All MCP messages — including tool discovery and tool calls — are exchanged over this single connection, enabling real-time, bidirectional communication. |
| **JSON-RPC**       | The protocol used for encoding requests and responses between the client and the MCP server. It is a lightweight, stateless remote procedure call protocol that uses JSON for message formatting. Each tool call and response follows the JSON-RPC specification.                                                            |
| **Tool**           | A callable function exposed by the MCP server (e.g., `clip-find_property_by_clip`). Each tool has a defined input schema and returns structured JSON.                                                                                                                                                                        |
| **Scopes**         | Your access token determines which tools are available. Calling `tools/list` returns only the tools your token is authorized to use.                                                                                                                                                                                         |

## Next steps

* [Authentication](../mcp/authentication/) — Get your access token
* [MCP inspector](../mcp/quickstart/) — Make your first tool call
* [Tool catalog](../mcp/tool-catalog/) — Browse all available tools by domain
* [Connect an MCP client](../mcp/connect/) — Set up VS Code, Cursor, Claude Code, or Windsurf
* [Python example](../mcp/python/) — Programmatic integration with the MCP Python SDK

<Info>
  The full integration guides (client setup, Python SDK, and the interactive tester) live in
  the **Guides** tab for easy reference alongside prompting patterns and developer resources.
</Info>
