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
4 changes: 4 additions & 0 deletions src/everos_mcp/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
from starlette.responses import JSONResponse, PlainTextResponse, Response
from starlette.types import ASGIApp, Message, Receive, Scope, Send

from . import __version__
from .client import EverOSClient, EverOSError, now_ms
from .config import ConfigError, Settings, base_url_from_env
from .conversation import Conversation, ConversationRegistry
Expand Down Expand Up @@ -88,6 +89,9 @@ def _data(body: str) -> str:
_registry: ConversationRegistry | None = None

mcp = FastMCP(name="everos", instructions=INSTRUCTIONS)
# FastMCP takes no version, so without this the handshake reports the mcp
# library's own version as ours.
mcp._mcp_server.version = __version__


def _local_conversation() -> Conversation:
Expand Down
8 changes: 7 additions & 1 deletion tests/test_everos_mcp.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import httpx
import pytest

from everos_mcp import server
from everos_mcp import __version__, server
from everos_mcp.client import EverOSClient, EverOSError
from everos_mcp.config import ConfigError, Settings
from everos_mcp.conversation import Conversation, ConversationRegistry
Expand Down Expand Up @@ -406,6 +406,12 @@ def test_tools_registered_with_annotations():
assert tools["add_memory"].annotations.destructiveHint is False


def test_handshake_reports_package_version():
options = mcp._mcp_server.create_initialization_options()
assert options.server_name == "everos"
assert options.server_version == __version__


def test_tool_descriptions_keep_model_guidance():
"""Tool descriptions are our API to the model — losing a guidance phrase is
a regression nothing else would catch."""
Expand Down
Loading