Package Details: python-mcp 1.26.0-1

Git Clone URL: https://aur.archlinux.org/python-mcp.git (read-only, click to copy)
Package Base: python-mcp
Description: Model Context Protocol SDK.
Upstream URL: https://github.com/modelcontextprotocol/python-sdk
Licenses: MIT
Submitter: medaminezghal
Maintainer: medaminezghal
Last Packager: medaminezghal
Votes: 5
Popularity: 1.14
First Submitted: 2025-02-04 16:43 (UTC)
Last Updated: 2026-01-29 09:33 (UTC)

Latest Comments

1 2 3 4 5 6 .. 9 Next › Last »

lightdot commented on 2026-05-11 13:15 (UTC)

@steho, LLM slop in the comments, seriously?

steho commented on 2026-05-11 08:02 (UTC) (edited on 2026-05-11 08:04 (UTC) by steho)


Update pkgver to 1.27.1 + PKGBUILD fixes needed for Python 3.14 Tested and working with Python 3.14.4. Four changes are needed to build 1.27.1 correctly.

  1. Version bump Update pkgver to 1.27.1, released upstream on 2026-05-08.

  2. Remove the 1834.patch PR #1834 (https://github.com/modelcontextprotocol/python-sdk/pull/1834) (Python 3.14 compatibility) was merged upstream on 2026-01-07, well before v1.27.1 was tagged. It no longer needs to be applied and should be removed from both source= and sha256sums=. Keeping it will likely cause a patch failure against the updated tree.

  3. Simplify prepare() With the patch removed, prepare() reduces to just a git clean: prepare() { cd "$srcdir"/$_name git clean -fdx } The sed line that bumped the test timeout was only needed alongside the patch and can be dropped.

  4. Fix the SHA256 for the git source The first entry in sha256sums is a hardcoded hash for a git+ VCS source. This should/could be SKIP: source=("$_name::git+$url.git#tag=v$pkgver") sha256sums=('SKIP')


Note on test_command_execution Even with the above fixes, tests/client/test_config.py::test_command_execution will fail on Python 3.14. This test spawns uv run --frozen --with mcp[cli] mcp run, which creates an isolated venv and tries to compile pydantic-core==2.33.2 from source. That version of pydantic-core uses PyO3 v0.24.1, which only supports up to Python 3.13. The remaining 1070 tests pass cleanly. Building with --nocheck or adding --ignore=tests/client/test_config.py to the pytest invocation in check() is a reasonable workaround until pydantic-core ships a version with PyO3 support for Python 3.14.

laurent_waro commented on 2026-04-15 03:02 (UTC)

Hi, error in test when installing the package.

laurent_waro commented on 2026-04-15 03:00 (UTC)

==================================================================================== FAILURES ==================================================================================== ___________ test_command_execution ___________ [gw1] linux -- Python 3.14.4 /home/laurenth/.cache/yay/python-mcp/src/mcp/test-env/bin/python

mock_config_path = PosixPath('/tmp/pytest-of-laurenth/pytest-0/popen-gw1/test_command_execution0/Claude')

def test_command_execution(mock_config_path: Path):
    """Test that the generated command can actually be executed."""
    # Setup
    server_name = "test_server"
    file_spec = "test_server.py:app"

    # Update config
    success = update_claude_config(file_spec=file_spec, server_name=server_name)
    assert success

    # Read the generated config
    config_file = mock_config_path / "claude_desktop_config.json"
    config = json.loads(config_file.read_text())

    # Get the command and args
    server_config = config["mcpServers"][server_name]
    command = server_config["command"]
    args = server_config["args"]

    test_args = [command] + args + ["--help"]
  result = subprocess.run(test_args, capture_output=True, text=True, timeout=60, check=False)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/client/test_config.py:47:


/usr/lib/python3.14/subprocess.py:557: in run stdout, stderr = process.communicate(input, timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:1221: in communicate stdout, stderr = self._communicate(input, endtime, timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib/python3.14/subprocess.py:2154: in _communicate self._check_timeout(endtime, orig_timeout, stdout, stderr)


self = <Popen: returncode: -9 args: ['/usr/bin/uv', 'run', '--frozen', '--with', 'm...>, endtime = 831.025588304, orig_timeout = 60, stdout_seq = [] stderr_seq = [b'Using CPython 3.14.4 interpreter at: /usr/bin/python3\n', b'Creating virtual environment at: .venv\n', b' Buildin...cp\n', b' Building selectolax==0.3.29\n', b' Built mcp @ file:///home/laurenth/.cache/yay/python-mcp/src/mcp\n'] skip_check_and_raise = False

def _check_timeout(self, endtime, orig_timeout, stdout_seq, stderr_seq,
                   skip_check_and_raise=False):
    """Convenience for checking if a timeout has expired."""
    if endtime is None:
        return
    if skip_check_and_raise or _time() > endtime:
      raise TimeoutExpired(
                self.args, orig_timeout,
                output=b''.join(stdout_seq) if stdout_seq else None,
                stderr=b''.join(stderr_seq) if stderr_seq else None)

E subprocess.TimeoutExpired: Command '['/usr/bin/uv', 'run', '--frozen', '--with', 'mcp[cli]', 'mcp', 'run', '/home/laurenth/.cache/yay/python-mcp/src/mcp/test_server.py:app', '--help']' timed out after 60 seconds

/usr/lib/python3.14/subprocess.py:1268: TimeoutExpired ============================================================================ short test summary info ============================================================================= FAILED tests/client/test_config.py::test_command_execution - subprocess.TimeoutExpired: Command '['/usr/bin/uv', 'run', '--frozen', '--with', 'mcp[cli]', 'mcp', 'run', '/home/laurenth/.cache/yay/python-mcp/src/mcp/test_server.py:app', '--help']' timed out after 60 seconds ======================================================= 1 failed, 1091 passed, 95 skipped, 1 xfailed in 528.10s (0:08:48) ========================================================

medaminezghal commented on 2026-03-28 10:16 (UTC)

@namaek2 @olko The package build fine for me I think you just need to remove the yay cache.

olko commented on 2026-03-26 06:13 (UTC) (edited on 2026-03-26 06:14 (UTC) by olko)

packaging error: in pyproject.toml:54 required-version = ">=0.9.5" fails on newer uv. uv doesn't support this field. the package needs a more up-to-date uv.lock (needs a version field).

namaek2 commented on 2026-03-25 05:09 (UTC)

verifying 1834.patch checksum is still failing yet.

medaminezghal commented on 2026-02-12 08:01 (UTC)

@gwuensch This case is related to python-typer maintainer. I have dealt with same problem before where there is a missing dependency for dependency of maintained packages in AUR.

I think it's better to report it to Arch maintainers.

gwuensch commented on 2026-02-11 16:19 (UTC)

@gwuensch python-annotated-doc is a dependency of python-typer which exists in check dependencies.

Yes, as of 14 minutes ago, this is true. It was missing before.

medaminezghal commented on 2026-02-11 16:09 (UTC) (edited on 2026-02-11 16:09 (UTC) by medaminezghal)

@gwuensch python-annotated-doc is a dependency of python-typer which exists in check dependencies.