---
title: "The local server"
description: "The local server runs on your machine beside the desktop app. It serves MCP on the local socket and on the TCP and WebSocket listeners, and it runs the query client, the file manager and the response cache."
section: install
address: /install/the-local-server
contract: 0476e35e6e275db5
---

# The local server

The local server runs on your machine beside the desktop app. It serves MCP on the local socket and on the TCP and WebSocket listeners, and it runs the query client, the file manager and the response cache.

[figure: The local server listens on the local socket, and on the TCP and WebSocket listeners when you turn them on. Each listener serves its own clients.]

The local server is the part of the platform that runs on your machine. It uses the same protocol as the platform's own server, so a tool that works with one server works with the other.

## Listeners

| listener | address | clients | on by default |
|---|---|---|---|
| the local socket | a Unix domain socket in the app's support folder, or a named pipe on Windows | the stdio shim and the desktop app | yes |
| the TCP listener | the loopback address of your machine | a tool on the machine | no, you turn it on in the app |
| the WebSocket listener | the loopback address of your machine | the browser extension and a tool on the machine | no, you turn it on in the app |

No listener accepts connections from outside your machine. The app's own session authenticates every listener that you turn on.

## Parts

| part | function |
|---|---|
| the MCP server | serves every tool of the platform, plus the app's own tools for questions over your files, named procedures and the files themselves |
| the query client | runs read-only queries over the lakehouse under your tenant's credential, and calls the API for everything else |
| the file manager | manages the workspace's files and nothing outside the workspace |
| the response cache | keeps recent results, so a question asked twice costs once |
| the acquisition system | runs as a second process and takes in the pages that you read and the files that you drop |

## App tools

| tool | function |
|---|---|
| [`si.ask.local`](/reference/tools/si-ask-local) | runs a question, typed as one of the ask tools' owning types, over the files that the app may read |
| [`si.work.local_procedure`](/reference/tools/si-work-local_procedure) | runs a named procedure on files in the workspace as a task, and records its steps in the app's journal |
| the files tools | download, upload and list files, and return the workspace |
