Skip to content

feat: Resource and resource templates support#206

Open
krewi1 wants to merge 10 commits intoopen-webui:devfrom
krewi1:main
Open

feat: Resource and resource templates support#206
krewi1 wants to merge 10 commits intoopen-webui:devfrom
krewi1:main

Conversation

@krewi1
Copy link
Contributor

@krewi1 krewi1 commented Jul 17, 2025

Pull Request Checklist

Before submitting, make sure you've checked the following:

  • Target branch: Please verify that the pull request targets the dev branch.
  • Description: Provide a concise description of the changes made in this pull request.
  • Changelog: Ensure a changelog entry following the format of Keep a Changelog is added at the bottom of the PR description.
  • Dependencies: Are there any new dependencies? Have you updated the dependency versions in the documentation?
  • Testing: Have you written and run sufficient tests to validate the changes?
  • Code review: Have you performed a self-review of your code, addressing any coding standard issues and ensuring adherence to the project's coding standards?
  • Prefix: To clearly categorize this pull request, prefix the pull request title using one of the following:
    • BREAKING CHANGE: Significant changes that may affect compatibility
    • build: Changes that affect the build system or external dependencies
    • ci: Changes to our continuous integration processes or workflows
    • chore: Refactor, cleanup, or other non-functional code changes
    • docs: Documentation update or addition
    • feat: Introduces a new feature or enhancement to the codebase
    • fix: Bug fix or error correction
    • i18n: Internationalization or localization changes
    • perf: Performance improvement
    • refactor: Code restructuring for better maintainability, readability, or scalability
    • style: Changes that do not affect the meaning of the code (white space, formatting, missing semi-colons, etc.)
    • test: Adding missing tests or correcting existing tests
    • WIP: Work in progress, a temporary label for incomplete or ongoing work

Changelog Entry

  • 📚 MCP Resources and Resource Templates Support: Added comprehensive support for MCP resources and resource templates, enabling direct access to static and parameterized resources through automatically generated endpoints—making it easier to expose and consume content like documents, images, and structured data through the MCP protocol.

Description

This PR adds comprehensive support for MCP resources and resource templates, enabling:

  • Direct access to static and parameterized resources through automatically generated endpoints
  • Easier exposure and consumption of content like documents, images, and structured data through the MCP protocol

These changes enhance the functionality of the MCP protocol by providing a standardized way to handle various resource types.

Added

  • MCP Resources support for static content delivery
  • Resource Templates functionality for parameterized resources
  • Automatic endpoint generation for registered resources

Changed

  • Enhanced routing system to accommodate resource endpoints
  • Improved documentation to include resource usage examples

Deprecated

  • None

Removed

  • None

Fixed

  • None

Security

  • Added proper content type validation for uploaded resources

Breaking Changes

  • None

Additional Information

  • This PR overrides PR #155
  • This PR implements issue #134

Screenshots or Videos

Screenshot 2025-07-17 at 13 15 29

@krewi1 krewi1 marked this pull request as draft July 17, 2025 13:06
@krewi1 krewi1 marked this pull request as ready for review July 17, 2025 13:21
@vladislovely
Copy link

I look forward to it!

@dheerapat
Copy link

dheerapat commented Sep 7, 2025

well, this PR starting to rot >< reviewer please help review as soon as you available

@yuisheaven
Copy link

@krewi1 I would like to try it out via docker locally. But when running it with the default dockerfile, I cant get it to run. It'll state errors regarding cant import some modules.

Could you eventually help me with that? I'd really like the mcpo proxy to support this as well as I need it for my use-case :(

# Conflicts:
#	pyproject.toml
#	src/mcpo/main.py
#	uv.lock
@krewi1
Copy link
Contributor Author

krewi1 commented Sep 23, 2025

Hi @yuisheaven, it looks like I made a mistake when resolving one of the merge conflicts. I’ll look into it later today.

@krewi1 krewi1 marked this pull request as draft September 23, 2025 09:28
@krewi1
Copy link
Contributor Author

krewi1 commented Sep 24, 2025

@yuisheaven should be all good now.

@krewi1 krewi1 marked this pull request as ready for review September 24, 2025 20:05
@ontecAI
Copy link

ontecAI commented Oct 20, 2025

Whats the status on this one?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants