mcpField
M
mcp-cps-data MCP server

mcp-cps-data MCP server

Local
github.com/mdagostData & Analytics0Updated 98w ago

About mcp-cps-data MCP server

An MCP server for querying local SQLite and LanceDB data about Chicago Public Schools. It provides SQL access to school-neighborhood records and question-based retrieval from school websites.

Key features

  1. 01Run SELECT queries on school-neighborhood data
  2. 02Retrieve relevant school website context
  3. 03Use local SQLite and LanceDB databases

Use cases

  1. 01Find a school's neighborhood
  2. 02Gather website context for a school-related question

MCP support

Exposes two tools to MCP clients: one for SELECT queries on school and neighborhood records, and one for retrieving relevant school website information.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"cps-data": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/inspector"
]
}
}
}
Run commandnpx -y @modelcontextprotocol/inspector

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@modelcontextprotocol/inspector

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

mcp-cps-data MCP server

A MCP server project for exposing a local SQLite database and a local LanceDB vector database with information on Chicago Public Schools

Components

Tools

The server implements two tools:

  • query_schools_and_neighborhoods: Excecute a SELECT query on a table of Chicago public schools and their neighborhoods called "schooltoneighborhood" with the following schema: (id INTEGER NOT NULL, created_at DATETIME NOT NULL, school_id INTEGER NOT NULL, school_name VARCHAR NOT NULL, neighborhood VARCHAR NOT NULL, PRIMARY KEY (id)).
    • Takes required parameter query
  • query_school_websites: Query a database of Chicago public school websites for context relevant to answering a given question.
    • Takes required parameter question and optional parameter school_name.

Configuration

Get the SQlite database and the LanceDB vector database from the [cps-childcare] project(https://github.com/mdagost/cps-childcare).

Quickstart

Install
Claude Desktop

On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json

On Windows: %APPDATA%/Claude/claude_desktop_config.json

Development/Unpublished Servers Configuration:

  "mcpServers": {
    "mcp-cps-data": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcp-cps-data",
        "run",
        "mcp-cps-data",
        "--sqlite-path",
        "/path/to/cps_crawler.db",
        "--lancedb-path",
        "/path/to/embeddings.lancedb"
      ]
    }
  }
Debugging

Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector.

You can launch the MCP Inspector via npm with this command:

npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-cps-data run mcp-cps-data --sqlite-path /path/to/cps_crawler.db --lancedb-path /path/to/embeddings.lancedb

Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.