惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
Netflix TechBlog - Medium
I
InfoQ
Engineering at Meta
Engineering at Meta
Jina AI
Jina AI
Recent Announcements
Recent Announcements
T
The Blog of Author Tim Ferriss
P
Proofpoint News Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
D
Docker
Microsoft Security Blog
Microsoft Security Blog
宝玉的分享
宝玉的分享
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
GbyAI
GbyAI
博客园 - Franky
博客园 - 聂微东
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 叶小钗
酷 壳 – CoolShell
酷 壳 – CoolShell
B
Blog RSS Feed
WordPress大学
WordPress大学
MyScale Blog
MyScale Blog
月光博客
月光博客
罗磊的独立博客

AUR Newest Packages

AUR (en) - linuxqq-clipsync-git AUR (en) - libtslitex-git AUR (en) - libtslitex-git AUR (en) - carton-appimage AUR (en) - veila-git AUR (en) - veila-bin AUR (en) - vigil-baseline AUR (en) - byedroid AUR (en) - neovim-base16-git AUR (en) - pirata AUR (en) - rpi-imager-git-non-root AUR (en) - python-fastapi-sso AUR (en) - tmux-ai-titles AUR (en) - zeed-bin AUR (en) - bclone-bin AUR (en) - dwl-git-azerty AUR (en) - auggie-bin AUR (en) - libspatialaudio-git AUR (en) - libspatialaudio AUR (en) - miniupnpd-iptables-legacy AUR (en) - miniupnpd-nft AUR (en) - jeeves-bin AUR (en) - opennow AUR (en) - rotki AUR (en) - kapi-bin AUR (en) - classfi-bin AUR (en) - classfi-git AUR (en) - classfi AUR (en) - giff-git AUR (en) - budget-tracker-bin
AUR (en) - python-mcp
2026-05-30 · via AUR Newest Packages

The fix (2 changes in check())

  1. touch examples/init.py examples/fastmcp/init.py — converts the source examples/ from a namespace package to a regular package so it takes priority over the system one.
  2. PYTHONPATH="$PWD" prepended to the pytest command — adds the repo root to Python's module search path so examples/ is findable.
--- a/PKGBUILD  2026-05-30 07:27:16.804983679 +0200
+++ b/PKGBUILD  2026-05-30 07:28:14.729534506 +0200
@@ -37,10 +37,13 @@
     -p 'no:benchmark'
   )
   cd "$srcdir"/$_name
+  # Create __init__.py so the source examples/ dir takes priority over
+  # the conflicting system-site-packages examples/ package
+  touch examples/__init__.py examples/fastmcp/__init__.py
   python -m venv --system-site-packages test-env
   ln -s /usr/bin/ruff test-env/bin/ruff
   test-env/bin/python -P -m installer dist/*.whl
-  UV_PYTHON_PREFERENCE=only-system test-env/bin/python -P -m pytest "${pytest_options[@]}" tests
+  PYTHONPATH="$PWD" UV_PYTHON_PREFERENCE=only-system test-env/bin/python -P -m pytest "${pytest_options[@]}" tests
 }

 package() {

Does this actually successfully run the test suite on an actual Arch machine with multiple CPU cores? This package has been failing to pass the test part for a very long time now.

@everyone I’m working towards making this package automatically updated by GitHub CI, this is my repository used to maintain my packages. Every package before it’s updated should be successfully builded in clean environment (ensured by CI). So if you encounter any errors, just clean the cache and try again. Everyone is welcomed to help improve packaging by making issue or improve the CI by pull request (I’m new to CI, in fact I wrote it using AI, I think it still need improvement, I would be happy if anyone put his experience to help improve the CI).

@lightdot i was too lazy to write something up myself. if it works it works.

Latest Version fails to install. See comment from @laurent_waro

[ 07:33:19 ] [130] $ yay -S python-mcp  
AUR Dependency (1): python-mcp-1.27.1-1  
AUR Make Dependency (1): python-uv-dynamic-versioning-0.14.0-1 
Sync Check Dependency (4): python-pytest-xdist-3.8.0-3, python-pytest-examples-0.0.18-2, python-inline-snapshot-0.32.6-1, python-dirty-equals-0.11.0-2
Sync Dependency (1): python-dunamai-1.26.1-1 
Sync Make Dependency (1): python-hatchling-1.29.0-1  
:: PKGBUILD up to date, skipping download: python-uv-dynamic-versioning  
:: (0/1) Failed to download PKGBUILD: python-mcp  
 -> error fetching python-mcp: error: The following untracked working tree files would be   overwritten by merge:  
        1834.patch  
Please move or remove them before you merge.  
Aborting  
         context: exit status 1  

@steho, LLM slop in the comments, seriously?


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.

Hi, error in test when installing the package.

==================================================================================== 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) ========================================================

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