Skip to content

Commit 2dc2f60

Browse files
authored
Enhance project management tools and pagination limits in server (#4)
* Enhance project management tools and pagination limits in server; update version and author details in pyproject.toml * fucking gpt bullshit * Implement search functionality for project items with filters; add helper functions for query building and filtering by field values and milestones
1 parent 9947a12 commit 2dc2f60

File tree

3 files changed

+544
-31
lines changed

3 files changed

+544
-31
lines changed

README.md

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,16 +101,20 @@ github-projects-mcp
101101

102102
The server exposes the following MCP tools:
103103

104-
#### Project Management
105-
- `get_organization_projects(org_login, first=20)` - Get projects for an organization
106-
- `get_user_projects(user_login, first=20)` - Get projects for a user
104+
#### Project Discovery
105+
- `list_accessible_projects(first=20, after=None)` - List all projects accessible to authenticated user
106+
- `get_organization_projects(org_login, first=20, after=None)` - Get projects for an organization
107+
- `get_user_projects(user_login, first=20, after=None)` - Get projects for a user
107108
- `get_project(project_id)` - Get a specific project by ID
109+
110+
#### Project Management
108111
- `create_project(owner_id, title, description=None)` - Create a new project
109112
- `update_project(project_id, title=None, description=None, readme=None, public=None)` - Update project
110113
- `delete_project(project_id)` - Delete a project
111114

112115
#### Project Items Management
113-
- `get_project_items(project_id, first=50)` - Get items in a project
116+
- `get_project_items(project_id, first=50, after=None)` - Get items in a project (full data)
117+
- `get_project_items_advanced(project_id, first=50, after=None, custom_fields=None, custom_filters=None, custom_variables=None)` - Get items with custom GraphQL field selection for efficiency
114118
- `add_item_to_project(project_id, content_id)` - Add an item to project
115119
- `update_item_field_value(project_id, item_id, field_id, value)` - Update item field
116120
- `remove_item_from_project(project_id, item_id)` - Remove item from project
@@ -119,6 +123,14 @@ The server exposes the following MCP tools:
119123
#### Project Fields
120124
- `get_project_fields(project_id)` - Get fields in a project
121125

126+
#### Search & Filtering
127+
- `search_project_items(project_id, query, filters=None)` - Search items by content/fields
128+
- `get_items_by_field_value(project_id, field_id, value)` - Filter by specific field values
129+
- `get_items_by_milestone(project_id, milestone_name)` - Get items in specific milestone
130+
131+
#### Advanced Queries
132+
- `execute_custom_project_query(query, variables=None)` - Execute custom GraphQL queries for maximum flexibility
133+
122134
## Using with Claude Code
123135

124136
The GitHub Projects MCP Server can be easily integrated with Claude Code to give Claude access to your GitHub Projects. Here's how to set it up:

0 commit comments

Comments
 (0)