Option Desk

com.avidquantPublished by avidquant.comOfficial publisherv0.3.0Updated Oct 24, 2026

Option analytics over the SYNTH sample or a permitted chain: Greeks, positioning, payoffs, plots.

VerifiedStreamable HTTPWeb executableFinanceData & Analytics

Overview

AI-generated overview

Option Desk is a hosted options-analysis service that lets an assistant summarize option chains, compute Greeks and positioning, and render payoff and market-ch

What you can do
Check service status, data mode, source and licence gate before requesting figures, and read the accepted snapshot schema and repair rules. Validate, normalize and import a user-supplied option chain, then delete an imported dashboard early. Summarize a chain and compute Greeks, gamma walls, gamma flip and max pain from the SYNTH sample or user data. Render market, Greek-ladder and structure-comparison plots, and build payoff charts for a chosen option structure. Produce a combined multi-chart report with strategy records, Greek units, scenarios and cost assumptions, or a private interactive dashboard from user data.
When to use it
Use it when you want an assistant to inspect an option chain you already have, compare multi-leg structures by payoff and Greeks, or produce teaching-style charts from the synthetic SYNTH sample. It suits private analysis and reporting rather than live market data or backtesting.
Requirements
A remote streamable HTTP endpoint; no package, environment variable or header is declared. The hosted workflow covers snapshot validation, Greeks, positioning and strategy plots. The SYNTH sample needs no data account; analyzing a real ticker requires you to supply the chain data yourself.
Before you install
The service never fetches market data, so figures depend entirely on the chain you upload; confirm you hold the rights to that data. Dealer signs are an assumption, not observed positions, and results are not fills, recommendations or investment advice. Imported dashboards are reachable by bearer URL and expire after one hour; delete them early if the data is sensitive. No hosted backtests exist.

Installation

In SourceWeft

  1. Open Option Desk in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.avidquant%2Foptiondesk/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "option-desk": {
      "type": "http",
      "url": "https://optiondesk.avidquant.com/mcp"
    }
  }
}

README

Option Desk

Options research with a local dashboard, agent skills, and MCP tools. Import a chain, inspect its Greeks and positioning, compare structures, and keep the results as readable files.

[Checks] [Tests] [Unit coverage gate] [Mutation cases] [Python]

[License] [Ask DeepWiki] [Local skills] [Hosted skills] [Local MCP tools]

[Agent guides] [Last commit]

[MCP Registry] [Option Desk MCP connector, tool definition quality and endpoint health on Glama] [Hosted sample]

Contents

On this page

Guides and wiki

See the desk

The dashboard brings the chain, model assumptions, and research results onto one page. These are captures of the current local dashboard with synthetic teaching inputs. They are not market observations or evidence of trading performance. Capture details distinguish the input scenario from the capture date.

[Structure comparison in the local dashboard, using synthetic inputs]

Dashboard tour

Open an image for its full resolution. The complete gallery includes individual panels and charts. The dashboard guide explains how to read them.

PositioningVolatility
[Synthetic dealer gamma, walls, open interest, and max pain][Synthetic volatility surface, smile, and Greek curves]
Inspect the assumed dealer exposure and chain coverage.Compare strikes and expiries without hiding missing values.
Structure payoffTwo-expiry structures
[Synthetic option structure payoff and legs][Synthetic calendar and diagonal comparison]
Read the legs, breakevens, and limits together.Inspect the valuation assumptions for the surviving leg.
SimulationBacktest
[Simulation panels from synthetic price history][Backtest panels from synthetic price history and modeled premiums]
Read the fan with the convergence diagnostics.Read outcomes with the benchmark and model limitations.
Composite comparisonContract ladder
[Composite scores and their components for synthetic structures][Synthetic contract Greeks and overlaid strategy payoffs]
Inspect the formula and disagreements between models.Compare sensitivities and payoff shapes.

[The dashboard pipeline from input through saved research artifacts]

Get started

Choose one route:

Your starting pointFirst actionContinue with
I want to try it without a data accountRun the supplied sample below.First walkthrough
I use Claude Code or CodexInstall the local tools, then connect the plugin.Agent workflows
I have a CSV or JSON chainImport it with its source and timestamp.Data import
I want a browser-based exampleOpen the hosted sample.Hosted connection

Try the supplied sample

Requirements: Git and Python 3.11 or later. Run these commands on macOS or Linux:

sh
git clone https://github.com/Iman/agent-driven-options-desk-and-skills.gitcd agent-driven-options-desk-and-skillspython3 -m venv .venv. .venv/bin/activatepython -m pip install -e ./engine -e ./shelloptiondesk chain SYNTH --from-file examples/chain-synth.json --accept-data-rights --out-dir artifacts/tutorialoptiondesk greeks --out-dir artifacts/tutorialoptiondesk exposure --out-dir artifacts/tutorialoptiondesk compare --out-dir artifacts/tutorialoptiondesk dashboard --out-dir artifacts/tutorial

Open http://127.0.0.1:8787 on the same computer. Select SYNTH and 2026-10-08. Press Ctrl+C in the terminal to stop the server. The result files remain in artifacts/tutorial.

The supplied sample contains 62 synthetic contracts and a fixed valuation scenario. It needs no external provider after installation. The walkthrough includes Windows activation, expected results, and the next steps. Sample provenance explains the inputs.

Install the full local desk

From a checkout, run:

sh
./install.shoptiondesk doctor

This installs the local tools and skills and attempts MCP registration with supported runtime CLIs it finds. Installation covers paths, flags, Docker, and removal. A plugin installation alone does not install the local calculation engine.

For an existing local provider setup, run the complete demonstration:

sh
./run.sh --symbols SPY

The runner retrieves data, builds the research artifacts, opens a paper position, and serves the dashboard. It writes to ~/TradingDesk/option-desk-demo by default. Use --dry-run to inspect its commands. Read provider setup before enabling Yahoo access.

Ask your agent

Install skills in your product

ProductInstallation choices
Codexnpx, manual copy, shell installer, or plugin.
Claude Codenpx, manual copy, shell installer, or plugin.
ChatGPTIndividual hosted-skill uploads where the account supports Skills, plus a separate MCP app.
Claude chatIndividual hosted-skill ZIPs plus a custom MCP connector.

The installation guide includes single-skill and all-skill commands, user/project scope, ZIP preparation, and connection checks.

After connecting the local tools, ask:

text
Use examples/chain-synth.json, the supplied synthetic teaching sample.I can use this file for private analysis.Save the results under artifacts/tutorial.Show its Greeks and positioning, then compare an iron condor with a straddle.State the source, missing inputs, model assumptions, and degradation first.
What you wantSkillExample
Working toolsdesk-setupCheck why my MCP tools are unavailable.
Contract sensitivitiesoptions-greeksShow delta, gamma, theta, and vega from this chain.
Chain positioningoptions-positioningShow the gamma walls and state the dealer-sign assumption.
Multi-leg structuresoptions-strategyCompare these structures by payoff, loss, and Greeks.
Forward distributionoptions-simulationSimulate the underlying from permitted history and report convergence.
Historical researchoptions-backtestBacktest this structure and explain the benchmark and missing costs.

The local MCP server exposes 12 tools. The hosted service supports a smaller workflow: snapshot validation, Greeks, positioning, and strategy plots. Simulation and backtests remain local workflows. See agent setup and prompts.

Follow a research workflow

StepActionWhat to inspect
1. LoadImport a chainSource, timestamp, expiry, and missing inputs.
2. InspectCalculate Greeks and positioning.Units, skip counts, and dealer-sign assumptions.
3. CompareBuild structuresLegs, breakevens, maximum loss, and spread costs.
4. Explore timeCompare two expiriesNear-expiry valuation and scan limits.
5. Research historySimulate or backtestConvergence, benchmarks, uncertainty, and omitted costs.
6. RecordOpen a paper positionPlan, thesis, later marks, and unavailable quotes.

The dashboard reads saved artifacts. It does not fetch new data when you open the page. Use the same --out-dir for related commands and the dashboard. The results guide explains how to interpret each stage.

Read the documentation

GuidePurpose
User guide homeChoose a task and follow it to a result.
Installation referenceeight install paths for local, plugin, skills-only, hosted, and container use.
Dashboard tourRead the panels and identify missing calculations.
ExamplesCopyable commands and expected results.
TroubleshootingInstallation, provider, import, and chart problems.
FAQCommon questions and interpretation limits.
CapabilitiesFeature and interface catalogue.
Master algorithmOne pseudocode reference for skills, loops, graph routing, prompts, backtests, and paper tests.
ArchitecturePackages, data flow, contracts, current diagrams, and preserved design references.
Preserved project referenceComplete earlier README, with its engineering detail, measurements, and examples.
API inventoryGenerated public function and class reference.
Documentation mapAll guides, policies, and maintenance references.

Where the desk is listed

ListingLinkStatus
Official MCP Registrycom.avidquant/optiondeskPublished 2026-09-11. Remote entry for the hosted endpoint, domain verified.
Smitheryiman-samizadeh/option-deskListed 2026-09-11. Hosted endpoint, 13 tools scanned, TXT record verified.
Glama serverIman/agent-driven-options-desk-and-skillsIndexed from the repository, 12 local tools listed.
Glama connectorcom.avidquant.optiondesk/option-deskHosted endpoint, listed 2026-09-11, health checked by Glama, 13 tools.
Claude Code and Codex marketplacesThis repository: /plugin marketplace add Iman/agent-driven-options-desk-and-skillsLocal plugin option-desk and hosted plugin option-desk-hosted.
Hosted sampleoptiondesk.avidquant.com, MCP at /mcpSynthetic SYNTH data, no account needed.
LinkedIn articleI built an options desk an agent can drivePublished 2026-09-10.
dev.todev.to/imansamizadehRepost of the article, canonical link to LinkedIn, publishes after the first week.

Directory listings describe the hosted endpoint or the repository as they were on the date shown. The listing pages are maintained on each directory, not in this repository.

Development

Testing and coverage covers happy and failure paths, BDD scenarios, integration checks, and the 80% unit line-coverage gate per package.

Run from the repository root with the development dependencies installed. See Development for environment setup and screenshot capture.

sh
python -m pytest engine/tests -q    # 355 testspython -m pytest shell/tests -q     # 574 testspython -m pytest agent/tests -q     # 161 testspython -m pytest -q                # 1090 tests

These are collection counts, not a claim that this documentation edit ran every test. The workflow badge links to the actual CI result.

sh
python3 scripts/refresh.py --no-indexpython3 scripts/mutate.py --list

Ten stages in a full run rebuild generated documents and packages, check recorded evidence, and run the suites and repository rules. The mutation harness defines ninety-nine mutations. Use its output to distinguish detected changes, survivors, and skipped cases.

Eight schemas under shell/src/optiondesk/contracts/ define the artifact interface: 8 schemas + validator. See the architecture guide for their roles.

Recorded historical example

The evidence record pins an earlier chain measurement to 2026-08-30T14:12:17+00:00. It records 607 contracts, spot, listed expiries and 595 solved, 12 refused as unidentified. These are historical evidence strings, not counts for the sample or the current screenshots. The recorder retains them here for its existing documentation checks.

Contribute · Backlog · Changelog · Security

Licensing

The repository uses PolyForm Noncommercial 1.0.0. It is source available and free for noncommercial use. Commercial use requires a separate written agreement. See LICENSES.md. The software license does not grant rights to provider data.

Research software. No order placement. Model results are not fills, recommendations, or investment advice. Read the disclaimer, privacy policy, and third-party notices.

Source: README.md at commit c802f0e

Tools

13

option_desk_status

Check the Option Desk data mode, source, refresh time, and public licence gate before requesting figures. No live feed or hosted backtest tool exists, even with uploaded history. Do not offer hosted backtests.

Takes no parameters.

option_snapshot_schema

Return the accepted CSV and JSON option-chain fields, safe repair rules, size limits, data-rights confirmation, and retention policy.

Takes no parameters.

option_chain_snapshot

Summarize SYNTH or analyze a user-supplied option chain for private analysis. This service never fetches market data.

Parametersrateexpirysymboldata_sourcesource_datasource_textsource_formatdividend_yieldrights_confirmed

option_positioning

Return gamma walls, gamma flip, and max pain from SYNTH or a user-supplied chain. Dealer signs are an assumption, not observed positions.

Parametersrateexpirysymboldata_sourcesource_datasource_textsource_formatdividend_yieldrights_confirmed

option_plots

Render opaque PNG plots in the conversation. The SYNTH sample offers the market plot (dealer gamma exposure, open interest, volume and the smile by strike), the Greek ladder, and the structure comparison. Each is computed from the sample's own engine artifacts; there is no simulation or backtest for SYNTH because the hosted service has no price history.

Parametersplotrateexpirysymboldata_sourcesource_datasource_textsource_formatdividend_yieldrights_confirmed

option_strategy_plot

Show an option-strategy payoff as an opaque PNG in the conversation. Any structure in the engine playbook can be built on the SYNTH sample chain. A market ticker requires user-supplied chain data. Do not start a localhost dashboard.

Parametersrateexpirysymbolstrategydata_sourcesource_datasource_textsource_formatdividend_yieldrights_confirmed

option_report_plots

Return the market map, Greek ladder, strategy comparison and up to three requested payoff charts in ONE widget. Prefer this tool for multi-chart reports instead of parallel individual plot calls. Includes strategy_records, Greek units, scenarios and cost assumptions. Use those records for tables; never invent currency or a multiplier. Uses SYNTH or a user-supplied chain; never fetches live data.

Parametersrateexpirysymbolstrategiesdata_sourcesource_datasource_textsource_formatdividend_yieldrights_confirmed

option_private_dashboard

Create a private interactive dashboard from user-supplied data. The bearer URL and all derived artifacts expire after one hour.

Parametersrateexpirysymbolrequireddata_sourcesource_datasource_textsource_formatdividend_yieldrights_confirmedretention_confirmed

option_validate_snapshot

Validate and safely normalize a user-supplied option-chain snapshot. Return corrections and a summary. Delete all temporary files before the response.

Parametersrateexpirysymbolrequireddata_sourcesource_datasource_textsource_formatdividend_yieldrights_confirmed

option_import_snapshot

Import user-supplied option-chain data into a bearer-private interactive dashboard. Delete the artifacts after one hour.

Parametersrateexpirysymbolrequireddata_sourcesource_datasource_textsource_formatdividend_yieldrights_confirmedretention_confirmed

option_plots_from_snapshot

Create opaque market and Greek PNG images from a user-supplied snapshot. Stamp source, capture time, expiry, and warnings on every image. Delete temporary files before the response.

Parametersrateexpirysymbolrequireddata_sourcesource_datasource_textsource_formatdividend_yieldrights_confirmed

option_strategy_from_snapshot

Build one option structure from a user-supplied chain and return its opaque payoff PNG with permanent source and risk warnings.

Parametersrateexpirysymbolrequiredstrategydata_sourcesource_datasource_textsource_formatdividend_yieldrights_confirmed

option_delete_snapshot

Delete one short-lived imported dashboard before its automatic one-hour expiry.

Parameterstokenrequired

Version history

1
  1. v0.3.0LatestSep 16, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.