Skip to content

[External Plugin]: tesseract #6327

Open

Description

@cmaftuleac

Plugin name

tesseract

Short description

Connects Copilot to Tesseract's hosted MCP server to make pictures, photo and video effects, short clips and multi-scene videos from the conversation. Each job is charged to the user's own Tesseract plan (free media each month, then paid).

GitHub repository

opentech-dev/tesseract-claude-plugin

Plugin path inside the repository

No response

Ref to review

v1.0.0

Commit SHA to review

e7a5417d1b6e61be609f375937f5ef70f9532eaa

Version

1.0.0

License identifier

MIT

Author name

Eightcell Labs, Inc.

Author URL

https://tesseract.dev

Homepage URL

https://tesseract.dev/mcp/

Keywords

video, effects, images, media, mcp

Additional notes for reviewers

Disclosure: we are Eightcell Labs, the company behind Tesseract, which is a paid service.

What the plugin contains:

  • mcp.json / .mcp.json: one remote server, https://app.tesseract.dev/api/core/tesseract/mcp (Streamable HTTP, OAuth 2.1 with PKCE, no API key). It is also in the official MCP Registry as dev.tesseract/media 1.0.0.
  • 8 tools: list_models, list_effects and check_job are read-only; generate_image, edit_image, apply_effect, generate_video and make_long_video start jobs.
  • Two skills: make-a-video-ad (turns a request into a shot plan, confirms the price, starts the job, returns the file) and photo-effects (picks an effect from the catalogue and applies it to the user's own photo or clip).

Requirements and limits (also in the README's Cost section): a Tesseract account is needed and jobs are charged to it. The plan's free media each month is used first; after that it is paid. The skills tell the agent to state the price and agree a ceiling with the user before starting a job and to pass it as max_usd, so a job that would cost more is not started. Each connected app also has its own monthly spending limit ($20 by default). The plugin itself is only configuration and Markdown; it runs no code.

Checked locally against this repository's eng/external-plugin-quality-gates.mjs at the pinned sha: Agent Plugins v1.0.0 manifest check passes, and vally lint passes for both skills. We have not run the Copilot CLI install smoke test.

Docs: https://tesseract.dev/mcp/ · Privacy: https://tesseract.dev/privacy/ · Terms: https://tesseract.dev/terms/

Submission checklist

  • The plugin lives in a public GitHub repository.
  • The ref and/or sha I provided is immutable (release tag and/or full 40-character commit SHA), not a branch.
  • This submission follows this repository's contribution, security, and responsible AI policies.
  • This plugin is not already listed in the Awesome Copilot marketplace.

Activity

  1. added
    awaiting-reviewSubmission is waiting for automated intake validation
    external-pluginPublic external plugin submission
    ready-for-reviewSubmission passed intake validation and is ready for maintainer review
    and removed
    awaiting-reviewSubmission is waiting for automated intake validation
    on Nov 9, 2026
  2. github-actions commented on Nov 9, 2026

    @github-actions
    Contributor

    ✅ External plugin intake passed

    This submission passed automated intake validation and quality checks and is ready for maintainer review.

    View workflow run · Download full quality gate logs

    Reviewer signals

    These are non-blocking heuristics for maintainer review; they are not evidence of misconduct or low quality.

    Signal Result
    Repository owner Organization-owned (third party)
    Repository age 6 day(s)
    Repository activity repository is 6 day(s) old; 0 stars; 0 watchers; 0 forks
    Repository counts 0 stars · 0 watchers · 0 forks · 0 open issues/PRs
    Homepage heuristics ⚠️ pricing

    Quality gate summary

    Legend: ✅ pass · ⚠️ warning · 🛑 fail

    Gate Status
    spec compliance ✅ pass
    vally lint ✅ pass
    install smoke test ✅ pass
    version match ✅ pass
    ref/sha consistency ✅ pass
    canvas structure ⚪ not_run
    • spec compliance: pass
    • vally lint: pass
    • install smoke test: pass
    • version match: pass
    • ref/sha consistency: pass
    • canvas structure: not_run
    • overall: pass
    spec compliance output (✅ pass)
    Agent Plugins v1.0.0 manifest checks passed for plugin.json.
    
    vally lint output (✅ pass)
    ✅ make-a-video-ad (2/2 checks passed)
        ✓ [spec-compliance] All 1 skill(s) are spec-compliant.
            ✓ spec-compliance: All spec checks passed.
        ✓ [valid-refs] All file references across 1 skill(s) are valid.
            ✓ valid-refs: All file references resolve to existing files within the skill directory.
    ✅ photo-effects (2/2 checks passed)
        ✓ [spec-compliance] All 1 skill(s) are spec-compliant.
            ✓ spec-compliance: All spec checks passed.
        ✓ [valid-refs] All file references across 1 skill(s) are valid.
            ✓ valid-refs: All file references resolve to existing files within the skill directory.
    
    2 skill(s) linted, 2 passed
    
    install smoke test output (✅ pass)
    Install smoke test succeeded. Verified /tmp/external-plugin-quality-oUDkXa/copilot-home/.copilot/installed-plugins/external-plugin-intake/tesseract/plugin.json.
    
    Version match output
    - v1.0.0: matched version "1.0.0" at "plugin.json".
    - e7a5417d1b6e61be609f375937f5ef70f9532eaa: matched version "1.0.0" at "plugin.json".
    
    Ref/SHA consistency output
    source.ref "v1.0.0" resolves to the same commit as source.sha "e7a5417d1b6e61be609f375937f5ef70f9532eaa".
    
    Canvas structure output
    Canvas structure gate skipped because plugin is not tagged with "canvas".
    

    Canonical external.json payload

    {
      "name": "tesseract",
      "description": "Connects Copilot to Tesseract's hosted MCP server to make pictures, photo and video effects, short clips and multi-scene videos from the conversation. Each job is charged to the user's own Tesseract plan (free media each month, then paid).",
      "version": "1.0.0",
      "author": {
        "name": "Eightcell Labs, Inc.",
        "url": "https://tesseract.dev"
      },
      "repository": "https://github.com/opentech-dev/tesseract-claude-plugin",
      "homepage": "https://tesseract.dev/mcp/",
      "license": "MIT",
      "keywords": [
        "video",
        "effects",
        "images",
        "media",
        "mcp"
      ],
      "source": {
        "source": "github",
        "repo": "opentech-dev/tesseract-claude-plugin",
        "ref": "v1.0.0",
        "sha": "e7a5417d1b6e61be609f375937f5ef70f9532eaa"
      }
    }
  3. aaronpowell commented on Nov 10, 2026

    @aaronpowell
    Contributor

    /request-fixes Could you share one successful free-tier Copilot run for a video or catalogue-effect workflow, including how the returned media is delivered and how max_usd and the connected-app spending limit are enforced? Copilot now handles ordinary image generation and editing natively, so the remaining case is Tesseract's distinct video and specialized-effect workflows.

  4. added
    requires-submitter-fixesSubmission has quality-gate findings that submitter must fix before maintainer review
    and removed
    ready-for-reviewSubmission passed intake validation and is ready for maintainer review
    on Nov 10, 2026
  5. github-actions commented on Nov 10, 2026

    @github-actions
    Contributor

    🛠️ Changes requested by a maintainer

    Maintainer aaronpowell used /request-fixes to move this submission to requires-submitter-fixes.

    Requested fixes

    Could you share one successful free-tier Copilot run for a video or catalogue-effect workflow, including how the returned media is delivered and how max_usd and the connected-app spending limit are enforced? Copilot now handles ordinary image generation and editing natively, so the remaining case is Tesseract's distinct video and specialized-effect workflows.

    Once you've addressed these, edit the issue or comment /rerun-intake to send it back through intake for review.

  6. cmaftuleac commented on Nov 13, 2026

    @cmaftuleac
    Author

    Thanks for the review. Here is a free-tier Copilot run of the catalogue-effect workflow, done on 2026-11-13.

    Setup

    • GitHub Copilot CLI 1.0.109, signed in to an account on Copilot Free.
    • Plugin installed with copilot plugin install opentech-dev/tesseract-claude-plugin → tesseract (v1.0.0), 2 skills.
    • The Tesseract side is a test account, connected through Tesseract's OAuth flow (dynamic registration, PKCE, consent page). In Tesseract → Settings → Account → Connected apps, that connection's monthly spending limit was set to $1.
    • The test machine has no browser, so the run passed the OAuth access token to the server as a header with --additional-mcp-config. In an interactive Copilot session the same sign-in opens as a web page.

    1. max_usd below the quote: refused before anything starts

    Copilot read the effect's guide price from list_effects ($0.20) and passed max_usd: 0.2. The server's quote for the job was $0.25:

    ✗ Apply an effect — This costs $0.25, above the $0.2 you set as the most (max_usd). Nothing was sent.

    2. A job within max_usd: the media comes back as a file link

    Copilot ran apply_effect (Product Showcase, a 5 s 720p clip) on an image, with max_usd: 0.25:

    It is being made. Price: at most $0.25 …

    It polled check_job until it answered Done, then printed the result: a short-lived signed download link, https://app.tesseract.dev/api/core/tesseract/mcp/files?t=…, pointing to the MP4. The charge was $0.20, the provider price, with the plan's free media used first. The connection's spend this month went from $0.00 to $0.20.

    A job that fails costs nothing. An earlier attempt used an image URL the provider could not download; check_job answered failed / provider_refused with "A job that fails is not charged", and the spend did not change.

    3. The connected app's monthly spending limit: refused when the job would pass it

    The connection's limit was lowered to $0.21 (with $0.20 already spent), and the same job was asked for again:

    ✗ Apply an effect — This costs $0.25, more than is left of this app's monthly spending limit. Nothing was sent. Raise the app's limit in Tesseract → Settings → Account → Connected apps.

    Total charged across the run: $0.20. The plugin itself runs no code locally. Every price is checked on the server, against both the per-call max_usd and the app's monthly limit, before a job is sent to a provider.

  7. cmaftuleac commented on Nov 13, 2026

    @cmaftuleac
    Author

    /rerun-intake

  8. added
    ready-for-reviewSubmission passed intake validation and is ready for maintainer review
    and removed
    requires-submitter-fixesSubmission has quality-gate findings that submitter must fix before maintainer review
    on Nov 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    external-pluginPublic external plugin submissionready-for-reviewSubmission passed intake validation and is ready for maintainer reviewthird party

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions