Skip to content

Commit 98a871d

Browse files
Update README.md and tests for resource URI changes; bump version to 0.9.1 and add pyyaml dependency
1 parent 739b3dd commit 98a871d

File tree

5 files changed

+14
-11
lines changed

5 files changed

+14
-11
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ Point the server at a folder of Markdown guides whenever you want agents to refe
148148
airflow-mcp-server --base-url http://localhost:8080 --auth-token <jwt> --resources-dir ~/airflow-resources
149149
```
150150

151-
- Every top-level `.md`/`.markdown` file becomes a read-only resource (`resource://knowledge/<slug>`) visible in your MCP client.
151+
- Every top-level `.md`/`.markdown` file becomes a read-only resource (`file:///<slug>`) visible in your MCP client.
152152
- The first `# Heading` in each file (if present) is used as the resource title; otherwise the filename stem is used.
153153
- Set `AIRFLOW_MCP_RESOURCES_DIR=/path/to/docs` if you prefer environment-based configuration.
154154
- Update the files on disk and restart the server to refresh the resources list.

pyproject.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "airflow-mcp-server"
3-
version = "0.9.0"
3+
version = "0.9.1"
44
description = "MCP Server for Airflow"
55
readme = "README.md"
66
requires-python = ">=3.10"
@@ -13,6 +13,7 @@ dependencies = [
1313
"uvicorn>=0.30.0",
1414
"starlette>=0.37.0",
1515
"click>=8.3.0",
16+
"pyyaml>=6.0.3",
1617
]
1718
classifiers = [
1819
"Development Status :: 3 - Alpha",

src/airflow_mcp_server/knowledge_resources.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,13 +118,13 @@ def load_knowledge_resources(resources_dir: str | None) -> list[tuple[str, str,
118118
for markdown_file in _iter_markdown_files(root_resolved):
119119
relative_name = markdown_file.stem
120120
slug = _unique_slug(_slugify(relative_name), slugs)
121-
uri = f"resource://knowledge/{slug}"
121+
uri = f"file:///{slug}"
122122
title = _extract_title(markdown_file)
123123

124124
display_title = title or relative_name.replace("_", " ").strip()
125125

126126
discovered.append((uri, display_title, lambda p=markdown_file: _read_file(p), "text/markdown"))
127-
logger.debug("Registered knowledge resource %s for %s", uri, markdown_file)
127+
logger.debug("Registered resource %s for %s", uri, markdown_file)
128128

129129
if not discovered:
130130
logger.info("Resources directory contained no Markdown files: %s", resources_dir)

tests/test_knowledge_resources.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ def test_registers_markdown_files(tmp_path: Path):
1717
resources = load_knowledge_resources(str(tmp_path))
1818
contents = _materialize(resources)
1919

20-
assert "resource://knowledge/guide" in contents
21-
assert contents["resource://knowledge/guide"] == "# Title\nBody"
20+
assert "file:///guide" in contents
21+
assert contents["file:///guide"] == "# Title\nBody"
2222

2323

2424
def test_duplicate_names_get_unique_slugs(tmp_path: Path):
@@ -29,10 +29,10 @@ def test_duplicate_names_get_unique_slugs(tmp_path: Path):
2929
resources = load_knowledge_resources(str(tmp_path))
3030
contents = _materialize(resources)
3131

32-
assert "resource://knowledge/note" in contents
33-
assert "resource://knowledge/note-2" in contents
34-
assert contents["resource://knowledge/note"] == "first"
35-
assert contents["resource://knowledge/note-2"] == "second"
32+
assert "file:///note" in contents
33+
assert "file:///note-2" in contents
34+
assert contents["file:///note"] == "first"
35+
assert contents["file:///note-2"] == "second"
3636

3737

3838
def test_missing_directory_logs_warning(caplog):

uv.lock

Lines changed: 3 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)