Skip to main content
Glama

Documentation Search MCP Server

test_docs_tools.py2.49 kB
import asyncio from documentation_search_enhanced import main def test_get_docs_returns_structured_summary(monkeypatch): orig_search_fn = main.search_web orig_docs_map = dict(main.docs_urls) orig_limit = getattr(main.smart_search, "_results_limit", 5) async def fake_search(query, num_results=5): assert "site:" in query return { "organic": [ { "link": "https://example.com/doc1", "title": "Example Doc", "snippet": "Example snippet covering authentication flows." } ] } async def fake_fetch(url): return ( "Authentication guide for FastAPI applications. " "Demonstrates OAuth2 dependencies and token workflows." ) monkeypatch.setattr(main, "search_web", fake_search) monkeypatch.setattr(main, "fetch_url", fake_fetch) main.smart_search.configure(main.docs_urls, main.search_web, results_limit=1) try: result = asyncio.run(main.get_docs("authentication", "fastapi")) finally: main.smart_search.configure(orig_docs_map, orig_search_fn, results_limit=orig_limit) assert isinstance(result, dict) assert result["libraries"] first_library = result["libraries"][0] assert first_library["library"] == "fastapi" assert first_library["results"][0]["summary"] assert "fastapi" in result["summary_markdown"].lower() def test_semantic_search_uses_configured_search(monkeypatch): orig_search_fn = main.search_web orig_docs_map = dict(main.docs_urls) orig_limit = getattr(main.smart_search, "_results_limit", 5) async def fake_search(query, num_results=5): assert "site:" in query return { "organic": [ { "link": "https://fastapi.example/guide", "title": "FastAPI Auth Guide", "snippet": "Detailed walkthrough" } ] } main.smart_search.configure(main.docs_urls, fake_search, results_limit=1) try: payload = asyncio.run(main.semantic_search("authentication", "fastapi")) finally: main.smart_search.configure(orig_docs_map, orig_search_fn, results_limit=orig_limit) assert payload["total_results"] == 1 assert payload["results"][0]["source_library"] == "fastapi" assert payload["results"][0]["url"] == "https://fastapi.example/guide"

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/anton-prosterity/documentation-search-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server