# Copyright Materialize, Inc. and contributors. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License in the LICENSE file at the # root of this repository, or online at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. [project] name = "mcp-materialize" version = "0.3.1" description = "A server that exposes Materialize indexes as tools over the Model Context Protocol (MCP)" readme = "README.md" requires-python = ">=3.13" authors = [ {name = "Materialize Inc", email = "support@materialize.com"} ] keywords = ["materialize", "mcp", "database", "api"] dependencies = [ "aiohttp>=3.11.18", "aiorwlock>=1.5.0", "fastapi>=0.115.12", "mcp>=1.10.1", "psycopg-pool>=3.2.6", "psycopg[binary]>=3.2.6", "pytest>=8.4.1", "pytest-asyncio>=1.0.0", "pyyaml>=6.0.2", "requests>=2.32.3", ] [project.scripts] mcp-materialize = "mcp_materialize:main" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["mcp_materialize"] [tool.hatch.build] [dependency-groups] dev = [ "pytest-asyncio>=0.26.0", "pytest>=8.3.5", "hatch>=1.9.4" ] [tool.ruff] line-length = 88 lint.select = ["I", "UP", "F", "E"] lint.extend-select = ["E501"]