Commit Graph

56 Commits

Author SHA1 Message Date
Anshul Garg
83b22050b8 fix(fetch): handle malformed input without crashing (#3515)
fix(fetch): handle malformed input without crashing

Changes `raise_exceptions=True` to `raise_exceptions=False` in the fetch server's `Server.run()` call, preventing the server from crashing on malformed JSON-RPC input. This aligns with the SDK's intended default behavior and is consistent with other reference servers.

Fixes #3359
2026-03-15 08:35:30 -07:00
Ola Hungerford
a97aba19eb Merge pull request #3293 from thecaptain789/fix-httpx-proxy-arg
fix(fetch): update to httpx 0.28+ proxy parameter
2026-03-07 12:38:04 -07:00
dependabot[bot]
e3ea3c8b7f Bump the uv group across 3 directories with 1 update
Bumps the uv group with 1 update in the /src/fetch directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /src/git directory: [cryptography](https://github.com/pyca/cryptography).
Bumps the uv group with 1 update in the /src/time directory: [cryptography](https://github.com/pyca/cryptography).


Updates `cryptography` from 46.0.3 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.3...46.0.5)

Updates `cryptography` from 46.0.3 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.3...46.0.5)

Updates `cryptography` from 46.0.3 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.3...46.0.5)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: indirect
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-11 02:51:37 +00:00
thecaptain789
8614dff06f fix(fetch): update to httpx 0.28+ proxy parameter
The httpx library renamed 'proxies' to 'proxy' in version 0.28.0.
This updates the fetch server to use the new parameter name and
removes the version cap on httpx.

Fixes #3287
2026-02-06 15:25:43 +00:00
Piyush Tripathi
71d5d71a80 test(fetch): add unit tests for fetch MCP server
Add comprehensive test coverage for the fetch server:
- TestGetRobotsTxtUrl: 6 tests for URL parsing
- TestExtractContentFromHtml: 3 tests for HTML-to-markdown conversion
- TestCheckMayAutonomouslyFetchUrl: 5 tests for robots.txt handling
- TestFetchUrl: 6 tests for URL fetching with various scenarios

Total: 20 tests covering:
- URL parsing and robots.txt URL generation
- HTML content extraction and markdown conversion
- robots.txt permission checking (401, 403, 404, allow/disallow)
- HTTP response handling (success, errors, raw mode)
- Proxy support

Also adds pytest and pytest-asyncio as dev dependencies.
2026-01-28 14:31:01 -08:00
dependabot[bot]
a1f9dfa470 Bump the uv group across 3 directories with 1 update
Bumps the uv group with 1 update in the /src/fetch directory: [python-multipart](https://github.com/Kludex/python-multipart).
Bumps the uv group with 1 update in the /src/git directory: [python-multipart](https://github.com/Kludex/python-multipart).
Bumps the uv group with 1 update in the /src/time directory: [python-multipart](https://github.com/Kludex/python-multipart).


Updates `python-multipart` from 0.0.21 to 0.0.22
- [Release notes](https://github.com/Kludex/python-multipart/releases)
- [Changelog](https://github.com/Kludex/python-multipart/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22)

Updates `python-multipart` from 0.0.21 to 0.0.22
- [Release notes](https://github.com/Kludex/python-multipart/releases)
- [Changelog](https://github.com/Kludex/python-multipart/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22)

Updates `python-multipart` from 0.0.21 to 0.0.22
- [Release notes](https://github.com/Kludex/python-multipart/releases)
- [Changelog](https://github.com/Kludex/python-multipart/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Kludex/python-multipart/compare/0.0.21...0.0.22)

---
updated-dependencies:
- dependency-name: python-multipart
  dependency-version: 0.0.22
  dependency-type: indirect
  dependency-group: uv
- dependency-name: python-multipart
  dependency-version: 0.0.22
  dependency-type: indirect
  dependency-group: uv
- dependency-name: python-multipart
  dependency-version: 0.0.22
  dependency-type: indirect
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-26 23:57:45 +00:00
dependabot[bot]
b906f726fa Bump the uv group across 3 directories with 5 updates
Bumps the uv group with 5 updates in the /src/fetch directory:

| Package | From | To |
| --- | --- | --- |
| [mcp](https://github.com/modelcontextprotocol/python-sdk) | `1.2.0` | `1.23.0` |
| [requests](https://github.com/psf/requests) | `2.32.3` | `2.32.4` |
| [h11](https://github.com/python-hyper/h11) | `0.14.0` | `0.16.0` |
| [starlette](https://github.com/Kludex/starlette) | `0.41.2` | `0.49.1` |
| [urllib3](https://github.com/urllib3/urllib3) | `2.2.3` | `2.6.3` |

Bumps the uv group with 3 updates in the /src/git directory: [mcp](https://github.com/modelcontextprotocol/python-sdk), [h11](https://github.com/python-hyper/h11) and [starlette](https://github.com/Kludex/starlette).
Bumps the uv group with 2 updates in the /src/time directory: [h11](https://github.com/python-hyper/h11) and [starlette](https://github.com/Kludex/starlette).


Updates `mcp` from 1.2.0 to 1.23.0
- [Release notes](https://github.com/modelcontextprotocol/python-sdk/releases)
- [Changelog](https://github.com/modelcontextprotocol/python-sdk/blob/main/RELEASE.md)
- [Commits](https://github.com/modelcontextprotocol/python-sdk/compare/v1.2.0...v1.23.0)

Updates `requests` from 2.32.3 to 2.32.4
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.32.3...v2.32.4)

Updates `h11` from 0.14.0 to 0.16.0
- [Commits](https://github.com/python-hyper/h11/compare/v0.14.0...v0.16.0)

Updates `starlette` from 0.41.2 to 0.49.1
- [Release notes](https://github.com/Kludex/starlette/releases)
- [Changelog](https://github.com/Kludex/starlette/blob/main/docs/release-notes.md)
- [Commits](https://github.com/Kludex/starlette/compare/0.41.2...0.49.1)

Updates `urllib3` from 2.2.3 to 2.6.3
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.2.3...2.6.3)

Updates `mcp` from 1.2.0 to 1.23.0
- [Release notes](https://github.com/modelcontextprotocol/python-sdk/releases)
- [Changelog](https://github.com/modelcontextprotocol/python-sdk/blob/main/RELEASE.md)
- [Commits](https://github.com/modelcontextprotocol/python-sdk/compare/v1.2.0...v1.23.0)

Updates `h11` from 0.14.0 to 0.16.0
- [Commits](https://github.com/python-hyper/h11/compare/v0.14.0...v0.16.0)

Updates `starlette` from 0.41.2 to 0.49.1
- [Release notes](https://github.com/Kludex/starlette/releases)
- [Changelog](https://github.com/Kludex/starlette/blob/main/docs/release-notes.md)
- [Commits](https://github.com/Kludex/starlette/compare/0.41.2...0.49.1)

Updates `mcp` from 1.2.0 to 1.23.0
- [Release notes](https://github.com/modelcontextprotocol/python-sdk/releases)
- [Changelog](https://github.com/modelcontextprotocol/python-sdk/blob/main/RELEASE.md)
- [Commits](https://github.com/modelcontextprotocol/python-sdk/compare/v1.2.0...v1.23.0)

Updates `h11` from 0.14.0 to 0.16.0
- [Commits](https://github.com/python-hyper/h11/compare/v0.14.0...v0.16.0)

Updates `starlette` from 0.41.2 to 0.49.1
- [Release notes](https://github.com/Kludex/starlette/releases)
- [Changelog](https://github.com/Kludex/starlette/blob/main/docs/release-notes.md)
- [Commits](https://github.com/Kludex/starlette/compare/0.41.2...0.49.1)

Updates `mcp` from 1.1.0 to 1.23.0
- [Release notes](https://github.com/modelcontextprotocol/python-sdk/releases)
- [Changelog](https://github.com/modelcontextprotocol/python-sdk/blob/main/RELEASE.md)
- [Commits](https://github.com/modelcontextprotocol/python-sdk/compare/v1.2.0...v1.23.0)

Updates `h11` from 0.14.0 to 0.16.0
- [Commits](https://github.com/python-hyper/h11/compare/v0.14.0...v0.16.0)

Updates `starlette` from 0.41.3 to 0.49.1
- [Release notes](https://github.com/Kludex/starlette/releases)
- [Changelog](https://github.com/Kludex/starlette/blob/main/docs/release-notes.md)
- [Commits](https://github.com/Kludex/starlette/compare/0.41.2...0.49.1)

Updates `mcp` from 1.1.0 to 1.23.0
- [Release notes](https://github.com/modelcontextprotocol/python-sdk/releases)
- [Changelog](https://github.com/modelcontextprotocol/python-sdk/blob/main/RELEASE.md)
- [Commits](https://github.com/modelcontextprotocol/python-sdk/compare/v1.2.0...v1.23.0)

Updates `h11` from 0.14.0 to 0.16.0
- [Commits](https://github.com/python-hyper/h11/compare/v0.14.0...v0.16.0)

Updates `starlette` from 0.41.3 to 0.49.1
- [Release notes](https://github.com/Kludex/starlette/releases)
- [Changelog](https://github.com/Kludex/starlette/blob/main/docs/release-notes.md)
- [Commits](https://github.com/Kludex/starlette/compare/0.41.2...0.49.1)

Updates `mcp` from 1.1.0 to 1.23.0
- [Release notes](https://github.com/modelcontextprotocol/python-sdk/releases)
- [Changelog](https://github.com/modelcontextprotocol/python-sdk/blob/main/RELEASE.md)
- [Commits](https://github.com/modelcontextprotocol/python-sdk/compare/v1.2.0...v1.23.0)

Updates `h11` from 0.14.0 to 0.16.0
- [Commits](https://github.com/python-hyper/h11/compare/v0.14.0...v0.16.0)

Updates `starlette` from 0.41.3 to 0.49.1
- [Release notes](https://github.com/Kludex/starlette/releases)
- [Changelog](https://github.com/Kludex/starlette/blob/main/docs/release-notes.md)
- [Commits](https://github.com/Kludex/starlette/compare/0.41.2...0.49.1)

Updates `h11` from 0.14.0 to 0.16.0
- [Commits](https://github.com/python-hyper/h11/compare/v0.14.0...v0.16.0)

Updates `starlette` from 0.41.3 to 0.49.1
- [Release notes](https://github.com/Kludex/starlette/releases)
- [Changelog](https://github.com/Kludex/starlette/blob/main/docs/release-notes.md)
- [Commits](https://github.com/Kludex/starlette/compare/0.41.2...0.49.1)

Updates `h11` from 0.14.0 to 0.16.0
- [Commits](https://github.com/python-hyper/h11/compare/v0.14.0...v0.16.0)

Updates `starlette` from 0.41.3 to 0.49.1
- [Release notes](https://github.com/Kludex/starlette/releases)
- [Changelog](https://github.com/Kludex/starlette/blob/main/docs/release-notes.md)
- [Commits](https://github.com/Kludex/starlette/compare/0.41.2...0.49.1)

Updates `h11` from 0.14.0 to 0.16.0
- [Commits](https://github.com/python-hyper/h11/compare/v0.14.0...v0.16.0)

Updates `starlette` from 0.41.3 to 0.49.1
- [Release notes](https://github.com/Kludex/starlette/releases)
- [Changelog](https://github.com/Kludex/starlette/blob/main/docs/release-notes.md)
- [Commits](https://github.com/Kludex/starlette/compare/0.41.2...0.49.1)

---
updated-dependencies:
- dependency-name: mcp
  dependency-version: 1.23.0
  dependency-type: direct:production
  dependency-group: uv
- dependency-name: requests
  dependency-version: 2.32.4
  dependency-type: direct:production
  dependency-group: uv
- dependency-name: h11
  dependency-version: 0.16.0
  dependency-type: indirect
  dependency-group: uv
- dependency-name: starlette
  dependency-version: 0.49.1
  dependency-type: indirect
  dependency-group: uv
- dependency-name: urllib3
  dependency-version: 2.6.3
  dependency-type: indirect
  dependency-group: uv
- dependency-name: mcp
  dependency-version: 1.23.0
  dependency-type: direct:production
  dependency-group: uv
- dependency-name: h11
  dependency-version: 0.16.0
  dependency-type: indirect
  dependency-group: uv
- dependency-name: starlette
  dependency-version: 0.49.1
  dependency-type: indirect
  dependency-group: uv
- dependency-name: mcp
  dependency-version: 1.23.0
  dependency-type: direct:production
  dependency-group: uv
- dependency-name: h11
  dependency-version: 0.16.0
  dependency-type: indirect
  dependency-group: uv
- dependency-name: starlette
  dependency-version: 0.49.1
  dependency-type: indirect
  dependency-group: uv
- dependency-name: mcp
  dependency-version: 1.23.0
  dependency-type: direct:production
  dependency-group: uv
- dependency-name: h11
  dependency-version: 0.16.0
  dependency-type: indirect
  dependency-group: uv
- dependency-name: starlette
  dependency-version: 0.49.1
  dependency-type: indirect
  dependency-group: uv
- dependency-name: mcp
  dependency-version: 1.23.0
  dependency-type: direct:production
  dependency-group: uv
- dependency-name: h11
  dependency-version: 0.16.0
  dependency-type: indirect
  dependency-group: uv
- dependency-name: starlette
  dependency-version: 0.49.1
  dependency-type: indirect
  dependency-group: uv
- dependency-name: mcp
  dependency-version: 1.23.0
  dependency-type: direct:production
  dependency-group: uv
- dependency-name: h11
  dependency-version: 0.16.0
  dependency-type: indirect
  dependency-group: uv
- dependency-name: starlette
  dependency-version: 0.49.1
  dependency-type: indirect
  dependency-group: uv
- dependency-name: h11
  dependency-version: 0.16.0
  dependency-type: indirect
  dependency-group: uv
- dependency-name: starlette
  dependency-version: 0.49.1
  dependency-type: indirect
  dependency-group: uv
- dependency-name: h11
  dependency-version: 0.16.0
  dependency-type: indirect
  dependency-group: uv
- dependency-name: starlette
  dependency-version: 0.49.1
  dependency-type: indirect
  dependency-group: uv
- dependency-name: h11
  dependency-version: 0.16.0
  dependency-type: indirect
  dependency-group: uv
- dependency-name: starlette
  dependency-version: 0.49.1
  dependency-type: indirect
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-17 18:03:32 +00:00
adam jones
d9929014d5 Add mcpName and repository fields for MCP registry (#3068)
Adds metadata required for registering servers in the MCP registry:

- NPM servers (everything, filesystem, memory, sequentialthinking):
  Added mcpName and repository fields to package.json

- PyPI servers (fetch, git, time):
  Added mcp-name comment to README.md

Part of #3047
2025-11-26 14:29:36 +00:00
Adam Jones
78e0088ebd fix(fetch): update uv.lock to sync with pyproject.toml
The lockfile was out of sync because pyproject.toml was updated
(version bump to 0.6.3, httpx<0.28 constraint) but uv.lock wasn't
regenerated. This became a CI failure after switching from --frozen
to --locked in #1852.
2025-11-25 21:52:09 +00:00
Eugene Mwangi
9758f34d36 chore(uv): Prefer --locked for dependency sync (#1852)
Adopt uv best practice for dependency synchronization.

[Note]
- (uv sync --frozen) proceeds with an out-dated lockfile.
  This could lead to inconsistencies.

[Docs]
See: https://docs.astral.sh/uv/concepts/projects/sync/#locking-and-syncing
2025-11-25 21:36:35 +00:00
claude[bot]
3dd0db07fd docs(fetch): Add Windows PYTHONIOENCODING configuration
Add troubleshooting section for Windows users experiencing timeout issues.
Setting PYTHONIOENCODING=utf-8 fixes character encoding problems that
can cause the server to timeout on Windows systems.

Fixes #65

Co-authored-by: Ola Hungerford <olaservo@users.noreply.github.com>
2025-08-17 16:46:33 +00:00
Tadas Antanavicius
0e519ca3a1 Merge pull request #1519 from olaservo/olaservo-patch-1
Update fetch Readme JSON snippets for installation to be complete JSON
2025-05-31 11:27:34 -07:00
David Dworken
c0821f1ed8 Add warning about security risks of 2 MCP servers (#1765) 2025-05-15 17:49:25 +01:00
Ola Hungerford
5514774490 Update fetch Readme JSON snippets for installation to be complete JSON 2025-04-17 19:52:45 -07:00
Burke Holland
090b6b7c1a Move VS Code below Claude 2025-04-10 12:10:02 -05:00
Burke Holland
76b3d7b5de Merge remote-tracking branch 'upstream/main' into burkeholland-vscode-install-instructions 2025-04-10 09:29:23 -05:00
Burke Holland
e6db372447 Update READMEs with instructions for VS Code installation 2025-04-03 16:37:27 -05:00
Ola Hungerford
8f73c9ac4c Merge branch 'main' into main 2025-03-30 08:32:53 -07:00
shiquda
9a4d513724 fix(fetch): specify httpx<0.28 to resolve proxy problem
- AsyncClient.__init__() got an unexpected keyword argument 'proxies'
2025-03-30 22:33:51 +08:00
Wilhelm Klopp
0490e08253 Fix typo in mcp_server_fetch 2025-03-26 18:52:33 +00:00
shiquda
64a654744a feat(fetch): add support for using proxy for requests 2025-03-13 00:20:48 +08:00
David Soria Parra
53f4a23b73 Update server implementation and dependencies 2025-01-15 17:27:12 +00:00
Aleksey Zhukov
ebecd590e2 Update error handling to use ErrorData consistently
Also:
Updated mcp dependency from 1.0.0 to 1.1.3

This aligns with MCP's error handling patterns and provides better
structured error information.
2025-01-10 21:53:57 +01:00
yangdx
ce72760302 Fix webpage content pagination logic error
Improve truncated content handling. Fix empty content return logic •
2025-01-02 16:51:23 +08:00
Jim Clark
4fa1c47b0a Update fetch Docker to not have ux in final stage 2024-12-19 16:05:22 -08:00
Jim Clark
70e19c466d Migrate python servers to mcp namespace 2024-12-19 13:42:46 -08:00
Jim Clark
368e3b23ca Add Dockerfiles for the 17 sample MCP servers
* add Dockerfiles and update README.md definitions
2024-12-19 13:11:34 -08:00
David Soria Parra
e7e1c85058 python servers 0.6.2 2024-12-04 15:57:31 +00:00
Justin Spahr-Summers
d1650ce5fb Merge pull request #144 from SkywaveTM/main
fix(fetch): properly handles robots.txt
2024-12-03 07:18:33 -06:00
Jack Adamson
45dfd82192 fix deserialization of URL 2024-12-02 13:09:10 +00:00
YeongJun
d5bae8759f follows redirects on checking robots.txt 2024-11-30 23:31:30 +09:00
YeongJun
168522f34d ensure url is string type in robot_parser.can_fetch() 2024-11-30 23:10:12 +09:00
David Soria Parra
2578d6f668 python servers 0.6.1 2024-11-29 18:00:23 +00:00
David Soria Parra
f86486984c python servers 0.6.0 2024-11-29 17:54:40 +00:00
Jack Adamson
bee382cec5 make changes requested in PR 2024-11-29 15:45:10 +00:00
Jack Adamson
a9e37d25c6 switch pydantic type annotations to satisfy pyright 2024-11-29 15:22:46 +00:00
Jack Adamson
e0234c7212 Merge pull request #130 from modelcontextprotocol/jadamson/fetch-use-readabilityjs
feat(fetch): add fetching of raw text, pagination and keeping links in the markdown
2024-11-29 15:09:54 +00:00
Jack Adamson
ea42a21078 add doc strings for readabilty and constrain types 2024-11-29 14:54:06 +00:00
Jack Adamson
c820086b35 update README to reflect new capabilities 2024-11-29 14:45:57 +00:00
Jack Adamson
5552af104c format with black 2024-11-29 13:37:35 +00:00
Jack Adamson
b6710dae1a add argument to fetch raw html 2024-11-29 13:16:09 +00:00
Jack Adamson
e8dcd29427 add pagination of fetches so models can avoid reading a full page if it's got the information it needs 2024-11-29 13:04:16 +00:00
Jack Adamson
960321f136 improve error message to model on fetch failure 2024-11-29 12:23:18 +00:00
Jack Adamson
37622d3872 add handling of non-html pages 2024-11-29 11:51:41 +00:00
anjor
39d6a3bc6b fix zed config 2024-11-28 22:01:38 +00:00
Jack Adamson
467330de6e update fetch server to use readability JS if node is installed 2024-11-28 18:44:33 +00:00
Ikko Eltociear Ashimine
b16a541c2e chore: update server.py
minor fix
2024-11-28 14:35:52 +09:00
Jack Adamson
15c9c6f4b1 remove redundant gitignore 2024-11-25 20:05:10 +00:00
Jack Adamson
caed64d5db update dependencies 2024-11-25 20:04:59 +00:00
Jack Adamson
fe9777401f update README to document commandline arguments 2024-11-25 19:38:23 +00:00