nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 python3Packages,
4 fetchFromGitHub,
5}:
6python3Packages.buildPythonApplication rec {
7 pname = "mcp-proxy";
8 version = "0.10.0";
9
10 src = fetchFromGitHub {
11 owner = "sparfenyuk";
12 repo = "mcp-proxy";
13 tag = "v${version}";
14 hash = "sha256-Hig+ZDFdToiYGOjb/rpqxnu8MaLmQLgSh5WYcgJGA1I=";
15 };
16
17 pyproject = true;
18
19 build-system = [ python3Packages.setuptools ];
20
21 dependencies = with python3Packages; [
22 uvicorn
23 mcp
24 ];
25
26 nativeCheckInputs = with python3Packages; [
27 pytestCheckHook
28 pytest-asyncio
29 ];
30
31 disabledTests = [
32 # AssertionError: expected call not found.
33 # Expected: mock(PromptReference(type='ref/prompt', name='name'), CompletionArgument(name='name', value='value'))
34 # Actual: mock(PromptReference(type='ref/prompt', name='name'), CompletionArgument(name='name', value='value'), None)
35 "test_call_tool[server-AsyncMock]"
36 "test_call_tool[proxy-AsyncMock]"
37 "test_complete[server-AsyncMock]"
38 "test_complete[proxy-AsyncMock]"
39 ];
40
41 __darwinAllowLocalNetworking = true;
42
43 meta = {
44 description = "MCP server which proxies other MCP servers from stdio to SSE or from SSE to stdio";
45 homepage = "https://github.com/sparfenyuk/mcp-proxy";
46 mainProgram = "mcp-proxy";
47 license = lib.licenses.mit;
48 maintainers = with lib.maintainers; [ keyruu ];
49 };
50}