diff --git a/mp_api/mcp/server.py b/mp_api/mcp/server.py index 6d9a180b..8fdf6b6f 100644 --- a/mp_api/mcp/server.py +++ b/mp_api/mcp/server.py @@ -16,9 +16,8 @@ MCP_SERVER_INSTRUCTIONS = """ This MCP server defines search and document retrieval capabilities -for data in the Materials Project. -Use the search tool to find relevant documents based on materials -keywords. +for data in the Materials Project (https://next-gen.materialsproject.org/). +Use the search tool to find relevant documents based on materials keywords. Then use the fetch tool to retrieve complete materials summary information. """ @@ -82,5 +81,5 @@ def _run_mp_mcp_server() -> None: mcp.run(**parse_server_args()) -if __name__ == "__main__": +if __name__ == "__main__": # pragma: no cover _run_mp_mcp_server() diff --git a/tests/mcp/test_server.py b/tests/mcp/test_server.py index 68523b99..df2c8ceb 100644 --- a/tests/mcp/test_server.py +++ b/tests/mcp/test_server.py @@ -10,7 +10,7 @@ ) from mp_api.client.core.exceptions import MPRestError -from mp_api.mcp.server import get_core_mcp, parse_server_args +from mp_api.mcp.server import get_core_mcp, parse_server_args, MCP_SERVER_INSTRUCTIONS async def get_mcp_tools(): @@ -35,6 +35,10 @@ def test_mcp_server(): fetch_tool = asyncio.run(get_mcp_tool("fetch")) assert fetch_tool.parameters["properties"] == {"idx": {"type": "string"}} + mcp_server = get_core_mcp() + assert isinstance(mcp_server, fastmcp.FastMCP) + assert mcp_server.instructions == MCP_SERVER_INSTRUCTIONS + def test_server_cli(): assert parse_server_args(