Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions mp_api/mcp/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.
"""

Expand Down Expand Up @@ -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()
6 changes: 5 additions & 1 deletion tests/mcp/test_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -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():
Expand All @@ -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(
Expand Down
Loading