Skip to content

Commit 9ecf30c

Browse files
publish tables as resource
1 parent 4eb0f15 commit 9ecf30c

File tree

2 files changed

+15
-11
lines changed

2 files changed

+15
-11
lines changed

pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "mcp_snowflake_server"
3-
version = "0.2.2"
3+
version = "0.3.0"
44
description = "A simple Snowflake MCP server"
55
readme = "README.md"
66
requires-python = ">=3.10"

src/mcp_snowflake_server/server.py

+14-10
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ async def main(
264264
),
265265
Tool(
266266
name="read_query",
267-
description="Execute a SELECT query. The tables have the following columns: " + tables_brief,
267+
description="Execute a SELECT query.",
268268
input_schema={
269269
"type": "object",
270270
"properties": {"query": {"type": "string", "description": "SELECT SQL query to execute"}},
@@ -325,19 +325,23 @@ async def handle_list_resources() -> list[types.Resource]:
325325
name="Data Insights Memo",
326326
description="A living document of discovered data insights",
327327
mimeType="text/plain",
328-
)
328+
),
329+
types.Resource(
330+
uri=AnyUrl("context://tables"),
331+
name="Tables",
332+
description="Description of tables and columns in the database",
333+
mimeType="text/plain",
334+
),
329335
]
330336

331337
@server.read_resource()
332338
async def handle_read_resource(uri: AnyUrl) -> str:
333-
if uri.scheme != "memo":
334-
raise ValueError(f"Unsupported URI scheme: {uri.scheme}")
335-
336-
path = str(uri).replace("memo://", "")
337-
if path != "insights":
338-
raise ValueError(f"Unknown resource path: {path}")
339-
340-
return db.get_memo()
339+
if str(uri) == "memo://insights":
340+
return db.get_memo()
341+
elif str(uri) == "context://tables":
342+
return tables_brief
343+
else:
344+
raise ValueError(f"Unknown resource: {uri}")
341345

342346
@server.list_prompts()
343347
async def handle_list_prompts() -> list[types.Prompt]:

0 commit comments

Comments
 (0)