Skip to content

Commit 1be295a

Browse files
committed
Rename to jupyter-server-mcp
1 parent 35ec316 commit 1be295a

File tree

8 files changed

+22
-22
lines changed

8 files changed

+22
-22
lines changed

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,12 @@ The MCP server will start automatically on `http://localhost:8080/mcp`.
8080

8181
### Core Components
8282

83-
#### MCPServer (`jupyter_server_docs_mcp.mcp_server.MCPServer`)
83+
#### MCPServer (`jupyter_server_mcp.mcp_server.MCPServer`)
8484

8585
A simplified LoggingConfigurable class that manages FastMCP integration:
8686

8787
```python
88-
from jupyter_server_docs_mcp.mcp_server import MCPServer
88+
from jupyter_server_mcp.mcp_server import MCPServer
8989

9090
# Create server
9191
server = MCPServer(name="My Server", port=8080)
@@ -106,7 +106,7 @@ await server.start_server()
106106
- `list_tools()` - Get list of registered tools
107107
- `start_server(host=None)` - Start the HTTP MCP server
108108

109-
#### MCPExtensionApp (`jupyter_server_docs_mcp.extension.MCPExtensionApp`)
109+
#### MCPExtensionApp (`jupyter_server_mcp.extension.MCPExtensionApp`)
110110

111111
Jupyter Server extension that manages the MCP server lifecycle:
112112

@@ -188,14 +188,14 @@ pip install -e ".[dev]"
188188
pytest tests/ -v
189189

190190
# Run with coverage
191-
pytest --cov=jupyter_server_docs_mcp tests/
191+
pytest --cov=jupyter_server_mcp tests/
192192
```
193193

194194
### Project Structure
195195

196196
```
197-
jupyter_server_docs_mcp/
198-
├── jupyter_server_docs_mcp/
197+
jupyter_server_mcp/
198+
├── jupyter_server_mcp/
199199
│ ├── __init__.py
200200
│ ├── mcp_server.py # Core MCP server implementation
201201
│ └── extension.py # Jupyter Server extension
File renamed without changes.

jupyter_server_docs_mcp/extension.py renamed to jupyter_server_mcp/extension.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
class MCPExtensionApp(ExtensionApp):
1717
"""The Jupyter Server MCP extension app."""
1818

19-
name = "jupyter_server_docs_mcp"
19+
name = "jupyter_server_mcp"
2020
description = "Jupyter Server extension providing MCP server for tool registration"
2121

2222
# Configurable traits
File renamed without changes.

pyproject.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ requires = ["hatchling>=1.5"]
33
build-backend = "hatchling.build"
44

55
[project]
6-
name = "jupyter_server_docs_mcp"
6+
name = "jupyter_server_mcp"
77
authors = [{name = "Jupyter Developer", email = "[email protected]"}]
88
dynamic = ["version"]
99
readme = "README.md"
@@ -42,10 +42,10 @@ full = [
4242
file="LICENSE"
4343

4444
[project.entry-points."jupyter_server.extension_points"]
45-
jupyter_server_docs_mcp = "jupyter_server_docs_mcp.extension:MCPExtensionApp"
45+
jupyter_server_mcp = "jupyter_server_mcp.extension:MCPExtensionApp"
4646

4747
[tool.hatch.version]
48-
path = "jupyter_server_docs_mcp/__init__.py"
48+
path = "jupyter_server_mcp/__init__.py"
4949

5050
[tool.hatch.build.targets.wheel.shared-data]
5151
"jupyter-config" = "etc/jupyter"

tests/conftest.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
from jupyter_server.serverapp import ServerApp
1212
from tornado.testing import AsyncHTTPTestCase
1313

14-
from jupyter_server_docs_mcp.extension import MCPExtensionApp
15-
from jupyter_server_docs_mcp.mcp_server import MCPServer
14+
from jupyter_server_mcp.extension import MCPExtensionApp
15+
from jupyter_server_mcp.mcp_server import MCPServer
1616

1717

1818
@pytest.fixture(scope="session")

tests/test_extension.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import pytest
44
import asyncio
55
from unittest.mock import Mock, patch, AsyncMock
6-
from jupyter_server_docs_mcp.extension import MCPExtensionApp
6+
from jupyter_server_mcp.extension import MCPExtensionApp
77

88

99
class TestMCPExtensionApp:
@@ -13,7 +13,7 @@ def test_extension_creation(self):
1313
"""Test creating extension with defaults."""
1414
extension = MCPExtensionApp()
1515

16-
assert extension.name == "jupyter_server_docs_mcp"
16+
assert extension.name == "jupyter_server_mcp"
1717
assert extension.mcp_port == 3001
1818
assert extension.mcp_name == "Jupyter MCP Server"
1919

@@ -57,7 +57,7 @@ async def test_start_extension_success(self):
5757
extension.mcp_name = "Test Server"
5858

5959
# Mock the MCP server creation to avoid actual server startup
60-
with patch('jupyter_server_docs_mcp.extension.MCPServer') as mock_mcp_class:
60+
with patch('jupyter_server_mcp.extension.MCPServer') as mock_mcp_class:
6161
mock_server = Mock()
6262
mock_server.start_server = AsyncMock()
6363
mock_mcp_class.return_value = mock_server
@@ -82,7 +82,7 @@ async def test_start_extension_failure(self):
8282
extension = MCPExtensionApp()
8383

8484
# Mock server creation to raise an exception
85-
with patch('jupyter_server_docs_mcp.extension.MCPServer') as mock_mcp_class:
85+
with patch('jupyter_server_mcp.extension.MCPServer') as mock_mcp_class:
8686
mock_mcp_class.side_effect = Exception("Server creation failed")
8787

8888
with pytest.raises(Exception, match="Server creation failed"):
@@ -147,7 +147,7 @@ async def test_full_lifecycle(self):
147147
extension.mcp_name = "Lifecycle Test Server"
148148

149149
# Mock the MCP server
150-
with patch('jupyter_server_docs_mcp.extension.MCPServer') as mock_mcp_class:
150+
with patch('jupyter_server_mcp.extension.MCPServer') as mock_mcp_class:
151151
mock_server = Mock()
152152
mock_server.start_server = AsyncMock()
153153
mock_mcp_class.return_value = mock_server
@@ -261,7 +261,7 @@ def test_register_configured_tools_valid(self):
261261

262262
# Capture log output
263263
import logging
264-
with patch('jupyter_server_docs_mcp.extension.logger') as mock_logger:
264+
with patch('jupyter_server_mcp.extension.logger') as mock_logger:
265265
extension._register_configured_tools()
266266

267267
# Should register both tools
@@ -278,7 +278,7 @@ def test_register_configured_tools_with_errors(self):
278278
extension.mcp_server_instance = Mock()
279279
extension.mcp_tools = ["os:getcwd", "invalid:function", "math:sqrt"]
280280

281-
with patch('jupyter_server_docs_mcp.extension.logger') as mock_logger:
281+
with patch('jupyter_server_mcp.extension.logger') as mock_logger:
282282
extension._register_configured_tools()
283283

284284
# Should register 2 valid tools (os:getcwd and math:sqrt)
@@ -299,7 +299,7 @@ async def test_start_extension_with_tools(self):
299299
extension.mcp_name = "Test Server With Tools"
300300
extension.mcp_tools = ["os:getcwd", "math:sqrt"]
301301

302-
with patch('jupyter_server_docs_mcp.extension.MCPServer') as mock_mcp_class:
302+
with patch('jupyter_server_mcp.extension.MCPServer') as mock_mcp_class:
303303
mock_server = Mock()
304304
mock_server.start_server = AsyncMock()
305305
mock_server._registered_tools = {"getcwd": {}, "sqrt": {}} # Mock registered tools
@@ -324,7 +324,7 @@ async def test_start_extension_no_tools(self):
324324
extension.mcp_port = 3088
325325
extension.mcp_tools = []
326326

327-
with patch('jupyter_server_docs_mcp.extension.MCPServer') as mock_mcp_class:
327+
with patch('jupyter_server_mcp.extension.MCPServer') as mock_mcp_class:
328328
mock_server = Mock()
329329
mock_server.start_server = AsyncMock()
330330
mock_server._registered_tools = {}

tests/test_mcp_server.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import pytest
44
import asyncio
55
from unittest.mock import Mock, patch, AsyncMock
6-
from jupyter_server_docs_mcp.mcp_server import MCPServer
6+
from jupyter_server_mcp.mcp_server import MCPServer
77

88

99
def simple_function(x: int, y: int) -> int:

0 commit comments

Comments
 (0)