goodday-mcp-fastmcp


Namegoodday-mcp-fastmcp JSON
Version 1.1.1 PyPI version JSON
download
home_pageNone
SummaryModel Context Protocol server for Goodday project management platform
upload_time2025-11-07 21:52:43
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords api goodday mcp model-context-protocol project-management server
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![Add to Cursor](https://fastmcp.me/badges/cursor_dark.svg)](https://fastmcp.me/MCP/Details/1371/goodday)
[![Add to VS Code](https://fastmcp.me/badges/vscode_dark.svg)](https://fastmcp.me/MCP/Details/1371/goodday)
[![Add to Claude](https://fastmcp.me/badges/claude_dark.svg)](https://fastmcp.me/MCP/Details/1371/goodday)
[![Add to ChatGPT](https://fastmcp.me/badges/chatgpt_dark.svg)](https://fastmcp.me/MCP/Details/1371/goodday)
[![Add to Codex](https://fastmcp.me/badges/codex_dark.svg)](https://fastmcp.me/MCP/Details/1371/goodday)
[![Add to Gemini](https://fastmcp.me/badges/gemini_dark.svg)](https://fastmcp.me/MCP/Details/1371/goodday)

# Goodday MCP Server

A Model Context Protocol (MCP) server for integrating with Goodday project management platform. This server provides tools for managing projects, tasks, and users through the Goodday API v2.

## Features

### Project Management
- **get_projects**: Retrieve list of projects (with options for archived and root-only filtering)
- **get_project**: Get detailed information about a specific project
- **create_project**: Create new projects with customizable templates and settings
- **get_project_users**: Get users associated with a specific project

### Task Management
- **get_project_tasks**: Retrieve tasks from specific projects (with options for closed tasks and subfolders)
- **get_user_assigned_tasks**: Get tasks assigned to a specific user
- **get_user_action_required_tasks**: Get action-required tasks for a user
- **get_task**: Get detailed information about a specific task
- **get_task_details**: Get comprehensive task details including subtasks, custom fields, and full metadata
- **get_task_messages**: Retrieve all messages/comments for a specific task
- **create_task**: Create new tasks with full customization (subtasks, assignments, dates, priorities)
- **update_task_status**: Update task status with optional comments
- **add_task_comment**: Add comments to tasks

### Sprint Management
- **get_goodday_sprint_tasks**: Get tasks from specific sprints by project name and sprint name/number
- **get_goodday_sprint_summary**: Generate comprehensive sprint summaries with task details, status distribution, and key metrics

### User Management
- **get_users**: Retrieve list of organization users
- **get_user**: Get detailed information about a specific user

### Smart Query & Search
- **get_goodday_smart_query**: Natural language interface for common project management queries
- **search_goodday_tasks**: Semantic search across tasks using VectorDB backend
- **search_project_documents**: Search for documents within specific projects
- **get_document_content**: Retrieve full content of specific documents

## OpenWebUI Integration

This package also includes an OpenWebUI tool that provides a complete interface for Goodday project management directly in chat interfaces. The OpenWebUI tool includes:

### Features
- **Project Management**: Get projects, project tasks, and project details
- **Sprint Management**: Get tasks from specific sprints by name/number, comprehensive sprint summaries
- **User Management**: Get tasks assigned to specific users, user details
- **Task Details**: Get comprehensive task information including subtasks, custom fields, and metadata
- **Task Messages**: Retrieve all messages and comments for tasks
- **Smart Query**: Natural language interface for common project management requests
- **Semantic Search**: Search across tasks using VectorDB backend with embeddings
- **Document Management**: Search project documents and retrieve document content
- **Advanced Filtering**: Support for archived projects, closed tasks, subfolders, and more

### Setup
1. Copy `openwebui/goodday_openwebui_complete_tool.py` to your OpenWebUI tools directory
2. Configure the valves with your API credentials:
   - `api_key`: Your Goodday API token
   - `search_url`: Your VectorDB search endpoint (optional)
   - `bearer_token`: Bearer token for search API (optional)

### Vector Database Setup (Optional)
For semantic search functionality, you can set up a vector database using the provided n8n workflow (`openwebui/n8n-workflow-goodday-vectordb.json`). This workflow:
- Fetches all Goodday projects and tasks
- Extracts task messages and content
- Creates embeddings using Ollama
- Stores in Qdrant vector database
- Provides search API endpoint

See `openwebui/OPENWEBUI_TOOL_README.md` for detailed usage instructions.

## Installation

### From PyPI (Recommended)

```bash
pip install goodday-mcp
```

### From Source

#### Prerequisites
- Python 3.10 or higher
- UV package manager (recommended) or pip
- Goodday API token

#### Setup with UV

1. **Install UV** (if not already installed):
   ```bash
   curl -LsSf https://astral.sh/uv/install.sh | sh
   ```

2. **Clone and set up the project**:
   ```bash
   git clone https://github.com/cdmx1/goodday-mcp.git
   cd goodday-mcp
   
   # Create virtual environment and install dependencies
   uv venv
   source .venv/bin/activate  # On Windows: .venv\Scripts\activate
   uv sync
   ```

#### Setup with pip

```bash
git clone https://github.com/cdmx1/goodday-mcp.git
cd goodday-mcp
pip install -e .
```

### Configuration

1. **Set up environment variables**:
   Create a `.env` file in your project root or export the variable:
   ```bash
   export GOODDAY_API_TOKEN=your_goodday_api_token_here
   ```

   To get your Goodday API token:
   - Go to your Goodday organization
   - Navigate to Settings → API
   - Click the generate button to create a new token

## Usage

### Running the Server Standalone

If installed from PyPI:
```bash
goodday-mcp
```

If running from source with UV:
```bash
uv run goodday-mcp
```

### Using with Claude Desktop

1. **Configure Claude Desktop** by editing your configuration file:
   - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
   - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`

2. **Add the server configuration**:

   **Option A: If installed from PyPI:**
   ```json
   {
     "mcpServers": {
       "goodday": {
         "command": "goodday-mcp",
         "env": {
           "GOODDAY_API_TOKEN": "your_goodday_api_token_here"
         }
       }
     }
   }
   ```

   **Option B: If running from source:**
   ```json
   {
     "mcpServers": {
       "goodday": {
         "command": "uv",
         "args": ["run", "goodday-mcp"],
         "env": {
           "GOODDAY_API_TOKEN": "your_goodday_api_token_here"
         }
       }
     }
   }
   ```

3. **Restart Claude Desktop** to load the new server.

### Using with Other MCP Clients

The server communicates via stdio transport and can be integrated with any MCP-compatible client. Refer to the [MCP documentation](https://modelcontextprotocol.io/) for client-specific integration instructions.

## API Reference

### Environment Variables

| Variable | Description | Required |
|----------|-------------|----------|
| `GOODDAY_API_TOKEN` | Your Goodday API token | Yes |

### Tool Examples

#### Get Projects
```python
# Get all active projects
get_projects()

# Get archived projects
get_projects(archived=True)

# Get only root-level projects
get_projects(root_only=True)
```

#### Create a Task
```python
create_task(
    project_id="project_123",
    title="Implement new feature",
    from_user_id="user_456",
    message="Detailed description of the task",
    to_user_id="user_789",
    deadline="2025-06-30",
    priority=5
)
```

#### Update Task Status
```python
update_task_status(
    task_id="task_123",
    user_id="user_456",
    status_id="status_completed",
    message="Task completed successfully"
)
```

## Data Formats

### Date Format
All dates should be provided in `YYYY-MM-DD` format (e.g., `2025-06-16`).

### Priority Levels
- 1-10: Normal priority levels
- 50: Blocker
- 100: Emergency

### Project Colors
Project colors are specified as integers from 1-24, corresponding to Goodday's color palette.

## Error Handling

The server includes comprehensive error handling:
- **Authentication errors**: When API token is missing or invalid
- **Network errors**: When Goodday API is unreachable
- **Validation errors**: When required parameters are missing
- **Permission errors**: When user lacks permissions for requested operations

All errors are returned as descriptive strings to help with troubleshooting.

## Development

### Project Structure
```
goodday-mcp/
├── goodday_mcp/         # Main package directory
│   ├── __init__.py      # Package initialization
│   └── main.py          # Main MCP server implementation
├── pyproject.toml       # Project configuration and dependencies
├── README.md           # This file
├── LICENSE             # MIT license
├── uv.lock            # Dependency lock file
└── .env               # Environment variables (create this)
```

### Adding New Tools

To add new tools to the server:

1. **Add the tool function** in `goodday_mcp/main.py` using the `@mcp.tool()` decorator:
   ```python
   @mcp.tool()
   async def your_new_tool(param1: str, param2: Optional[int] = None) -> str:
       """Description of what the tool does.
       
       Args:
           param1: Description of parameter 1
           param2: Description of optional parameter 2
       """
       # Implementation here
       return "Result"
   ```

2. **Test the tool** by running the server and testing with an MCP client.

### Testing

Test the server by running it directly:
```bash
# If installed from PyPI
goodday-mcp

# If running from source
uv run goodday-mcp
```

The server will start and wait for MCP protocol messages via stdin/stdout.

## Contributing

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests if applicable
5. Submit a pull request

## License

This project is licensed under the MIT License - see the LICENSE file for details.

## Support

For issues related to:
- **MCP Server**: Create an issue in this repository
- **Goodday API**: Refer to [Goodday API documentation](https://www.goodday.work/developers/api-v2)
- **MCP Protocol**: Refer to [MCP documentation](https://modelcontextprotocol.io/)

## Changelog

### v1.1.0 (Current)
- **Enhanced Task Management**: Added `get_task_details` and `get_task_messages` for comprehensive task information
- **Sprint Management**: Added `get_goodday_sprint_tasks` and `get_goodday_sprint_summary` for sprint tracking
- **Smart Query Interface**: Added `get_goodday_smart_query` for natural language project queries
- **Semantic Search**: Added `search_goodday_tasks` with VectorDB integration for intelligent task search
- **Document Management**: Added `search_project_documents` and `get_document_content` for document handling
- **Improved Error Handling**: Enhanced error messages and status reporting
- **Advanced Filtering**: Support for archived projects, closed tasks, and subfolder inclusion

### v1.0.0
- Initial release
- Full project management capabilities
- Task management with comments and status updates
- User management
- Comprehensive error handling
- UV support with modern Python packaging
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "goodday-mcp-fastmcp",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "api, goodday, mcp, model-context-protocol, project-management, server",
    "author": null,
    "author_email": "Roney <roney@goodday-mcp.dev>",
    "download_url": "https://files.pythonhosted.org/packages/20/e5/71066380a7a36c161124fa8a2aabd3b07e1344decd23d86513b0c5d1011c/goodday_mcp_fastmcp-1.1.1.tar.gz",
    "platform": null,
    "description": "[![Add to Cursor](https://fastmcp.me/badges/cursor_dark.svg)](https://fastmcp.me/MCP/Details/1371/goodday)\n[![Add to VS Code](https://fastmcp.me/badges/vscode_dark.svg)](https://fastmcp.me/MCP/Details/1371/goodday)\n[![Add to Claude](https://fastmcp.me/badges/claude_dark.svg)](https://fastmcp.me/MCP/Details/1371/goodday)\n[![Add to ChatGPT](https://fastmcp.me/badges/chatgpt_dark.svg)](https://fastmcp.me/MCP/Details/1371/goodday)\n[![Add to Codex](https://fastmcp.me/badges/codex_dark.svg)](https://fastmcp.me/MCP/Details/1371/goodday)\n[![Add to Gemini](https://fastmcp.me/badges/gemini_dark.svg)](https://fastmcp.me/MCP/Details/1371/goodday)\n\n# Goodday MCP Server\n\nA Model Context Protocol (MCP) server for integrating with Goodday project management platform. This server provides tools for managing projects, tasks, and users through the Goodday API v2.\n\n## Features\n\n### Project Management\n- **get_projects**: Retrieve list of projects (with options for archived and root-only filtering)\n- **get_project**: Get detailed information about a specific project\n- **create_project**: Create new projects with customizable templates and settings\n- **get_project_users**: Get users associated with a specific project\n\n### Task Management\n- **get_project_tasks**: Retrieve tasks from specific projects (with options for closed tasks and subfolders)\n- **get_user_assigned_tasks**: Get tasks assigned to a specific user\n- **get_user_action_required_tasks**: Get action-required tasks for a user\n- **get_task**: Get detailed information about a specific task\n- **get_task_details**: Get comprehensive task details including subtasks, custom fields, and full metadata\n- **get_task_messages**: Retrieve all messages/comments for a specific task\n- **create_task**: Create new tasks with full customization (subtasks, assignments, dates, priorities)\n- **update_task_status**: Update task status with optional comments\n- **add_task_comment**: Add comments to tasks\n\n### Sprint Management\n- **get_goodday_sprint_tasks**: Get tasks from specific sprints by project name and sprint name/number\n- **get_goodday_sprint_summary**: Generate comprehensive sprint summaries with task details, status distribution, and key metrics\n\n### User Management\n- **get_users**: Retrieve list of organization users\n- **get_user**: Get detailed information about a specific user\n\n### Smart Query & Search\n- **get_goodday_smart_query**: Natural language interface for common project management queries\n- **search_goodday_tasks**: Semantic search across tasks using VectorDB backend\n- **search_project_documents**: Search for documents within specific projects\n- **get_document_content**: Retrieve full content of specific documents\n\n## OpenWebUI Integration\n\nThis package also includes an OpenWebUI tool that provides a complete interface for Goodday project management directly in chat interfaces. The OpenWebUI tool includes:\n\n### Features\n- **Project Management**: Get projects, project tasks, and project details\n- **Sprint Management**: Get tasks from specific sprints by name/number, comprehensive sprint summaries\n- **User Management**: Get tasks assigned to specific users, user details\n- **Task Details**: Get comprehensive task information including subtasks, custom fields, and metadata\n- **Task Messages**: Retrieve all messages and comments for tasks\n- **Smart Query**: Natural language interface for common project management requests\n- **Semantic Search**: Search across tasks using VectorDB backend with embeddings\n- **Document Management**: Search project documents and retrieve document content\n- **Advanced Filtering**: Support for archived projects, closed tasks, subfolders, and more\n\n### Setup\n1. Copy `openwebui/goodday_openwebui_complete_tool.py` to your OpenWebUI tools directory\n2. Configure the valves with your API credentials:\n   - `api_key`: Your Goodday API token\n   - `search_url`: Your VectorDB search endpoint (optional)\n   - `bearer_token`: Bearer token for search API (optional)\n\n### Vector Database Setup (Optional)\nFor semantic search functionality, you can set up a vector database using the provided n8n workflow (`openwebui/n8n-workflow-goodday-vectordb.json`). This workflow:\n- Fetches all Goodday projects and tasks\n- Extracts task messages and content\n- Creates embeddings using Ollama\n- Stores in Qdrant vector database\n- Provides search API endpoint\n\nSee `openwebui/OPENWEBUI_TOOL_README.md` for detailed usage instructions.\n\n## Installation\n\n### From PyPI (Recommended)\n\n```bash\npip install goodday-mcp\n```\n\n### From Source\n\n#### Prerequisites\n- Python 3.10 or higher\n- UV package manager (recommended) or pip\n- Goodday API token\n\n#### Setup with UV\n\n1. **Install UV** (if not already installed):\n   ```bash\n   curl -LsSf https://astral.sh/uv/install.sh | sh\n   ```\n\n2. **Clone and set up the project**:\n   ```bash\n   git clone https://github.com/cdmx1/goodday-mcp.git\n   cd goodday-mcp\n   \n   # Create virtual environment and install dependencies\n   uv venv\n   source .venv/bin/activate  # On Windows: .venv\\Scripts\\activate\n   uv sync\n   ```\n\n#### Setup with pip\n\n```bash\ngit clone https://github.com/cdmx1/goodday-mcp.git\ncd goodday-mcp\npip install -e .\n```\n\n### Configuration\n\n1. **Set up environment variables**:\n   Create a `.env` file in your project root or export the variable:\n   ```bash\n   export GOODDAY_API_TOKEN=your_goodday_api_token_here\n   ```\n\n   To get your Goodday API token:\n   - Go to your Goodday organization\n   - Navigate to Settings \u2192 API\n   - Click the generate button to create a new token\n\n## Usage\n\n### Running the Server Standalone\n\nIf installed from PyPI:\n```bash\ngoodday-mcp\n```\n\nIf running from source with UV:\n```bash\nuv run goodday-mcp\n```\n\n### Using with Claude Desktop\n\n1. **Configure Claude Desktop** by editing your configuration file:\n   - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`\n   - **Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n2. **Add the server configuration**:\n\n   **Option A: If installed from PyPI:**\n   ```json\n   {\n     \"mcpServers\": {\n       \"goodday\": {\n         \"command\": \"goodday-mcp\",\n         \"env\": {\n           \"GOODDAY_API_TOKEN\": \"your_goodday_api_token_here\"\n         }\n       }\n     }\n   }\n   ```\n\n   **Option B: If running from source:**\n   ```json\n   {\n     \"mcpServers\": {\n       \"goodday\": {\n         \"command\": \"uv\",\n         \"args\": [\"run\", \"goodday-mcp\"],\n         \"env\": {\n           \"GOODDAY_API_TOKEN\": \"your_goodday_api_token_here\"\n         }\n       }\n     }\n   }\n   ```\n\n3. **Restart Claude Desktop** to load the new server.\n\n### Using with Other MCP Clients\n\nThe server communicates via stdio transport and can be integrated with any MCP-compatible client. Refer to the [MCP documentation](https://modelcontextprotocol.io/) for client-specific integration instructions.\n\n## API Reference\n\n### Environment Variables\n\n| Variable | Description | Required |\n|----------|-------------|----------|\n| `GOODDAY_API_TOKEN` | Your Goodday API token | Yes |\n\n### Tool Examples\n\n#### Get Projects\n```python\n# Get all active projects\nget_projects()\n\n# Get archived projects\nget_projects(archived=True)\n\n# Get only root-level projects\nget_projects(root_only=True)\n```\n\n#### Create a Task\n```python\ncreate_task(\n    project_id=\"project_123\",\n    title=\"Implement new feature\",\n    from_user_id=\"user_456\",\n    message=\"Detailed description of the task\",\n    to_user_id=\"user_789\",\n    deadline=\"2025-06-30\",\n    priority=5\n)\n```\n\n#### Update Task Status\n```python\nupdate_task_status(\n    task_id=\"task_123\",\n    user_id=\"user_456\",\n    status_id=\"status_completed\",\n    message=\"Task completed successfully\"\n)\n```\n\n## Data Formats\n\n### Date Format\nAll dates should be provided in `YYYY-MM-DD` format (e.g., `2025-06-16`).\n\n### Priority Levels\n- 1-10: Normal priority levels\n- 50: Blocker\n- 100: Emergency\n\n### Project Colors\nProject colors are specified as integers from 1-24, corresponding to Goodday's color palette.\n\n## Error Handling\n\nThe server includes comprehensive error handling:\n- **Authentication errors**: When API token is missing or invalid\n- **Network errors**: When Goodday API is unreachable\n- **Validation errors**: When required parameters are missing\n- **Permission errors**: When user lacks permissions for requested operations\n\nAll errors are returned as descriptive strings to help with troubleshooting.\n\n## Development\n\n### Project Structure\n```\ngoodday-mcp/\n\u251c\u2500\u2500 goodday_mcp/         # Main package directory\n\u2502   \u251c\u2500\u2500 __init__.py      # Package initialization\n\u2502   \u2514\u2500\u2500 main.py          # Main MCP server implementation\n\u251c\u2500\u2500 pyproject.toml       # Project configuration and dependencies\n\u251c\u2500\u2500 README.md           # This file\n\u251c\u2500\u2500 LICENSE             # MIT license\n\u251c\u2500\u2500 uv.lock            # Dependency lock file\n\u2514\u2500\u2500 .env               # Environment variables (create this)\n```\n\n### Adding New Tools\n\nTo add new tools to the server:\n\n1. **Add the tool function** in `goodday_mcp/main.py` using the `@mcp.tool()` decorator:\n   ```python\n   @mcp.tool()\n   async def your_new_tool(param1: str, param2: Optional[int] = None) -> str:\n       \"\"\"Description of what the tool does.\n       \n       Args:\n           param1: Description of parameter 1\n           param2: Description of optional parameter 2\n       \"\"\"\n       # Implementation here\n       return \"Result\"\n   ```\n\n2. **Test the tool** by running the server and testing with an MCP client.\n\n### Testing\n\nTest the server by running it directly:\n```bash\n# If installed from PyPI\ngoodday-mcp\n\n# If running from source\nuv run goodday-mcp\n```\n\nThe server will start and wait for MCP protocol messages via stdin/stdout.\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Add tests if applicable\n5. Submit a pull request\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## Support\n\nFor issues related to:\n- **MCP Server**: Create an issue in this repository\n- **Goodday API**: Refer to [Goodday API documentation](https://www.goodday.work/developers/api-v2)\n- **MCP Protocol**: Refer to [MCP documentation](https://modelcontextprotocol.io/)\n\n## Changelog\n\n### v1.1.0 (Current)\n- **Enhanced Task Management**: Added `get_task_details` and `get_task_messages` for comprehensive task information\n- **Sprint Management**: Added `get_goodday_sprint_tasks` and `get_goodday_sprint_summary` for sprint tracking\n- **Smart Query Interface**: Added `get_goodday_smart_query` for natural language project queries\n- **Semantic Search**: Added `search_goodday_tasks` with VectorDB integration for intelligent task search\n- **Document Management**: Added `search_project_documents` and `get_document_content` for document handling\n- **Improved Error Handling**: Enhanced error messages and status reporting\n- **Advanced Filtering**: Support for archived projects, closed tasks, and subfolder inclusion\n\n### v1.0.0\n- Initial release\n- Full project management capabilities\n- Task management with comments and status updates\n- User management\n- Comprehensive error handling\n- UV support with modern Python packaging",
    "bugtrack_url": null,
    "license": null,
    "summary": "Model Context Protocol server for Goodday project management platform",
    "version": "1.1.1",
    "project_urls": {
        "Homepage": "https://github.com/fastmcp-me/goodday-mcp#readme",
        "Issues": "https://github.com/fastmcp-me/goodday-mcp/issues",
        "Repository": "https://github.com/fastmcp-me/goodday-mcp.git"
    },
    "split_keywords": [
        "api",
        " goodday",
        " mcp",
        " model-context-protocol",
        " project-management",
        " server"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "961451691f7910ffc96c6f296bdf650a9a8c24cba0fc67f313b4452a4fcca597",
                "md5": "932358f51a3a95760e087b4566f90d48",
                "sha256": "df8841126205453019b300a8bcd914a25270cd4bad0d0ed3623ba276fbcc616b"
            },
            "downloads": -1,
            "filename": "goodday_mcp_fastmcp-1.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "932358f51a3a95760e087b4566f90d48",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 16694,
            "upload_time": "2025-11-07T21:52:41",
            "upload_time_iso_8601": "2025-11-07T21:52:41.711237Z",
            "url": "https://files.pythonhosted.org/packages/96/14/51691f7910ffc96c6f296bdf650a9a8c24cba0fc67f313b4452a4fcca597/goodday_mcp_fastmcp-1.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "20e571066380a7a36c161124fa8a2aabd3b07e1344decd23d86513b0c5d1011c",
                "md5": "e4071d711668c8416e7682839a44091e",
                "sha256": "32a4e8cf4f72b660bf0aead30f1dc1830980a6878603114722b0ad95d924c869"
            },
            "downloads": -1,
            "filename": "goodday_mcp_fastmcp-1.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "e4071d711668c8416e7682839a44091e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 16898,
            "upload_time": "2025-11-07T21:52:43",
            "upload_time_iso_8601": "2025-11-07T21:52:43.056654Z",
            "url": "https://files.pythonhosted.org/packages/20/e5/71066380a7a36c161124fa8a2aabd3b07e1344decd23d86513b0c5d1011c/goodday_mcp_fastmcp-1.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-11-07 21:52:43",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "fastmcp-me",
    "github_project": "goodday-mcp#readme",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "goodday-mcp-fastmcp"
}
        
Elapsed time: 2.41569s