Commit graph

1,510 commits

Author SHA1 Message Date
Jeremiah Lowin
38036b1f42 Add automatic MCP list change notifications and client message handling
Implements comprehensive notification system for tools, resources, and prompts with automatic client updates and flexible message handlers.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-24 22:33:06 -04:00
Jeremiah Lowin
c8da2432c3
Merge pull request #935 from jlowin/source-link-api-ref 2025-06-24 16:54:49 -04:00
zzstoatzz
034fa72b9c run api ref gen 2025-06-24 13:02:03 -05:00
Jeremiah Lowin
9bbca08862
Merge pull request #929 from jlowin/docs1 2025-06-23 19:51:26 -04:00
Jeremiah Lowin
49188a6002 Fix PR numbers 2025-06-23 18:51:39 -04:00
Jeremiah Lowin
336d05ea26 Update changelog and updates for 2.9 release 2025-06-23 18:47:13 -04:00
nate nowack
691e047031
Merge pull request #927 from jlowin/bsky-example-create-thread
add `create_thread` tool to bsky MCP server
2025-06-23 12:52:06 -05:00
zzstoatzz
6d19f4369f i dont think i need that 2025-06-23 12:43:42 -05:00
zzstoatzz
560c347949 Add delay between thread posts to ensure proper indexing
- Add 0.5s sleep between posts in create_thread
- Prevents 'Parent post not found' errors
- Ensures each post is indexed before creating replies

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-23 12:40:20 -05:00
zzstoatzz
5b10fd2107 thread 2025-06-23 12:38:11 -05:00
Jeremiah Lowin
e117fa0fa3
Merge pull request #924 from jlowin/docstring v2.9.0 2025-06-23 10:30:55 -04:00
Jeremiah Lowin
a14b621ab9 Update release.yml 2025-06-23 10:30:38 -04:00
Jeremiah Lowin
44d5bce0ec
Merge pull request #923 from jlowin/docstring 2025-06-23 10:28:46 -04:00
Jeremiah Lowin
4a4054fe5a Update release categories 2025-06-23 10:28:24 -04:00
Jeremiah Lowin
8b52a6ec73
Merge pull request #922 from jlowin/docstring 2025-06-23 10:23:11 -04:00
Jeremiah Lowin
547bceb154
Merge pull request #919 from jlowin/middleware 2025-06-23 10:18:54 -04:00
Jeremiah Lowin
03d0cad8ed ControlFlow -> FastMCP 😅 2025-06-23 10:18:18 -04:00
Jeremiah Lowin
b2c39f3ce1
Merge pull request #907 from jlowin/feature/api-ref-exclude-modules 2025-06-23 10:17:37 -04:00
nate nowack
e81327d687
Merge pull request #921 from jlowin/rm-source-example
remove uv source in example
2025-06-23 02:33:18 -05:00
zzstoatzz
7b14a00b4e remove uv source in example 2025-06-23 02:31:26 -05:00
nate nowack
8f6570f96c
Merge pull request #920 from jlowin/small-example-fix
fix path in atproto example pyproject
2025-06-23 02:29:01 -05:00
zzstoatzz
e42f9fec7f fix path in atproto example pyproject 2025-06-23 02:27:08 -05:00
nate nowack
d0e4fba34b
Merge pull request #916 from jlowin/atproto-example
Add ATProto (Bluesky) MCP Server Example
2025-06-23 01:07:48 -05:00
zzstoatzz
395bde3d5a rm example as workspace member for now 2025-06-23 01:05:48 -05:00
zzstoatzz
dc52874300 update url for main 2025-06-22 23:48:25 -05:00
zzstoatzz
2701de8e7b Move search from resource to tool
- Search is an action with parameters, not a resource
- Resources are for fetching by URI (profile, timeline, notifications)
- Tools are for actions (post, search, follow, like, repost)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-22 23:28:29 -05:00
zzstoatzz
a5e2cf46fd ope 2025-06-22 23:16:22 -05:00
zzstoatzz
c70ac4284d allow config limit 2025-06-22 23:10:54 -05:00
zzstoatzz
0745f457c8 Refactor ATProto MCP server with unified API
- Consolidate 4 separate posting tools into single flexible 'post' tool
- Reorganize _atproto.py into modular structure with clear separation
- Update demo to test all features comprehensively
- Simplify API: post, follow, like, repost (was 8 tools, now 4)

The unified post tool supports all combinations:
- Simple text posts
- Images (up to 4)
- Rich text (links, mentions)
- Replies and threads
- Quote posts
- Advanced combinations (quote + image, reply + rich text, etc.)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-22 23:06:53 -05:00
zzstoatzz
d30b1b771d update python verison 2025-06-22 22:39:14 -05:00
zzstoatzz
2502ba8093 Fix strong ref creation and image handling in new features
- Use ComAtprotoRepoStrongRef.Main instead of create_strong_ref
- Fix image posting to properly handle downloads and uploads
- Add follow_redirects for image URLs
- All features now tested and working

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-22 22:39:14 -05:00
zzstoatzz
3264c85606 Add advanced ATProto features: replies, rich text, quotes, and images
- Add reply_to_post for threaded conversations
- Add post_with_rich_text for clickable links and mentions
- Add quote_post for sharing with commentary
- Add post_with_images for visual content (up to 4 images)
- Update types with new response structures
- Add httpx dependency for image downloads
- Document AI assistant use cases in README
2025-06-22 22:39:14 -05:00
zzstoatzz
0e89236185 update python verison 2025-06-22 22:39:14 -05:00
zzstoatzz
6905a00b0b Fix ATProto API calls for follow, like, and repost
- Fix follow_user to use params dict for search_actors API
- Add CID fetching for like_post (required by atproto API)
- Add CID fetching for repost (required by atproto API)
- Both like and repost now fetch the post first to get its CID
2025-06-22 22:39:14 -05:00
zzstoatzz
2eb10094b5 Refactor ATProto example to use resources and proper type annotations
- Add TypedDict definitions for all responses in types.py
- Convert read operations to resources (status, timeline, search, notifications)
- Keep state-modifying operations as tools (post, follow, like, repost)
- Add proper type annotations with Annotated and Field descriptions
- Update demo to use read_resource for resources
- Better separation of concerns with typed interfaces
2025-06-22 22:39:14 -05:00
zzstoatzz
5c23ac8ee9 Refactor ATProto example with modular design and improved demo
- Create _atproto.py module for private implementation details
- Clean server.py to only expose public API (tools)
- Update demo with --post flag instead of comments
- Better separation of concerns
2025-06-22 22:39:14 -05:00
zzstoatzz
4421bafb2a Add script entry point for atproto-mcp command 2025-06-22 22:39:14 -05:00
zzstoatzz
1952d5d320 push code 2025-06-22 22:39:14 -05:00
zzstoatzz
40226a8fb7 Implement full ATProto functionality with 8 tools for Bluesky interaction 2025-06-22 22:39:14 -05:00
zzstoatzz
8faf3f5721 Add ATProto MCP example 2025-06-22 22:39:14 -05:00
Jeremiah Lowin
f821edb252 Remove production-ready language from middleware docs 2025-06-22 22:01:10 -04:00
Jeremiah Lowin
6d033eeaf1 Add production-ready middleware examples with comprehensive tests
Implements timing, logging, rate limiting, and error handling middleware to showcase
FastMCP's middleware capabilities as a headline feature. Each middleware includes:

- Production-ready implementations with full configurability
- Comprehensive unit and integration tests with real FastMCP servers
- Updated documentation with teaching examples and production usage patterns

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-22 21:57:49 -04:00
Jeremiah Lowin
d76f42ceb8 Create middleware module 2025-06-22 21:05:10 -04:00
Jeremiah Lowin
2480ad8f58
Merge pull request #918 from jlowin/fields 2025-06-22 21:00:30 -04:00
Jeremiah Lowin
44f14b1f7b Clean up parameter documentation 2025-06-22 20:59:53 -04:00
Jeremiah Lowin
c64554c4e7
Merge pull request #917 from jlowin/http 2025-06-22 20:20:42 -04:00
Jeremiah Lowin
84ca1b0f09 Update CLAUDE.md 2025-06-22 20:09:14 -04:00
Jeremiah Lowin
987dd85826 Update test_streamable_http.py 2025-06-22 20:08:36 -04:00
Jeremiah Lowin
ffe0c92d63 Alias streamable-http as http 2025-06-22 20:00:11 -04:00
Jeremiah Lowin
76e3df1bc1 Add "http" as an alias for streamable-http 2025-06-22 18:55:07 -04:00