Commit graph

91 commits

Author SHA1 Message Date
Jeremiah Lowin
d36ea42b92
Fix OAuth resource URL handling and WWW-Authenticate header (#1706) 2025-09-02 15:14:05 -04:00
Jeremiah Lowin
05b611b68d
Make openai depedency optional (#1701) 2025-09-02 15:13:37 -04:00
Jeremiah Lowin
8c678b552b
Add resource_server_url parameter to OAuth proxy providers (#1682) 2025-08-30 08:33:13 -04:00
Jeremiah Lowin
6d46192659
Internal refactor: fastmcp config to mcp server config (#1672) 2025-08-29 21:37:39 -04:00
Jeremiah Lowin
1f3f82d245
Implement typed source system for FastMCP configuration (#1607) 2025-08-24 16:32:37 -04:00
Jeremiah Lowin
b34519c356
Update schema path (#1595) 2025-08-23 09:47:58 -04:00
William Easton
d32a2b953e
Fallback to a Completions API when Sampling is not available (#1145) 2025-08-21 07:49:29 -04:00
Jeremiah Lowin
c3d1176a69
Add WorkOS and Azure OAuth providers (#1550) 2025-08-20 16:22:03 -04:00
zzstoatzz
04efab4257 fix: auto-detect URLs in ATProto posts for clickable links
The ATProto MCP server now properly handles URLs in posts by:
- Auto-detecting plain URLs in text and creating facets to make them clickable
- Supporting rich text links with custom anchor text
- Preventing overlap between auto-detected and explicitly provided links

This ensures all URLs are clickable on Bluesky, whether they're plain URLs
in text or rich text links with custom anchors.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-20 11:31:56 -05:00
zzstoatzz
d3f120a059 undo unnecessary client change 2025-08-20 00:54:09 -05:00
zzstoatzz
5fd8ba1aa4 reauth client 2025-08-20 00:36:16 -05:00
Jeremiah Lowin
2d3d5392f1
feat: introduce fastmcp.json configuration system (#1517) 2025-08-19 16:06:04 -04:00
Jeremiah Lowin
ec015de3b0
Add OAuth proxy that allows authentication with social IDPs without DCR support (#1434) 2025-08-18 13:39:58 -04:00
Jeremiah Lowin
45c4ceb1bd
Update environment note (#1075)
* Update environment note

* Update memory.py
2025-07-07 13:44:19 -04:00
Chanwoo Noh
7a1e332aae fix: update mount_example.py for current fastmcp API
- Update mount() calls to use keyword arguments (server, prefix)
- Replace private API access with public async methods (get_tools, get_resources)
- Fix resource URI handling to use URL parsing instead of string prefixes
- Update resource access to use _mcp_read_resource with proper URI format
- Add urllib.parse import for URL parsing functionality

The mounting API and resource handling changed in recent fastmcp versions,
breaking the mount_example.py functionality. This update ensures the example
works correctly with fastmcp v2.9.0.

Tested on: fastmcp v2.9.0
2025-06-26 14:44:51 +09: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
zzstoatzz
7b14a00b4e remove uv source in example 2025-06-23 02:31:26 -05:00
zzstoatzz
e42f9fec7f fix path in atproto example pyproject 2025-06-23 02:27:08 -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
Goro
57e0b03711 Run pre-commit and fix typing issues 2025-06-16 07:12:41 +02:00
Goro
84316cea5e Add file type example 2025-06-16 00:35:54 +02:00
Jeremiah Lowin
46ab813de6 Deprecate top-level import 2025-06-14 09:12:21 -04:00
Jeremiah Lowin
18615bc48b Remove empty parens 2025-06-04 15:41:28 -04:00
Jeremiah Lowin
d1549c3d35 Remove empty parens 2025-06-04 15:37:55 -04:00
zzstoatzz
36b0da6329 fix example 2025-06-03 11:24:54 -05:00
zzstoatzz
dc88356869 allow passing one or many --server-arg flags 2025-06-03 11:06:37 -05:00
Jeremiah Lowin
6cac09cf2a Add support for RouteMap tags, update docs 2025-05-22 21:59:16 -04:00
Jeremiah Lowin
9a2d92b46d Add as_proxy improvements and tests 2025-05-17 12:23:48 -04:00
zzstoatzz
e2d0ca6d3e update proxy docs + example 2025-05-15 01:13:47 -05:00
Jeremiah Lowin
fa6d962009 Update composition docs 2025-05-10 15:47:20 -04:00
Alain IVARS
cc6ecca416
Merge branch 'main' into tests_coverage 2025-05-04 08:53:20 +01:00
Jeremiah Lowin
5f0193b237 Fix kwarg 2025-05-03 12:15:07 -04:00
strawgate
80f7487f36 Add an example of a custom serializer implementation 2025-05-03 06:48:50 -05:00