Hi Decile team,
We run Team Ignite's portfolio reporting on top of Decile and use the Decile MCP server with Claude every day. Marks are the one workflow we cannot complete through the API or MCP. Today we can read valuations but cannot create or update one, so every mark gets entered twice: once in our own portfolio tracker and once by hand in the Decile UI. This is the gap that keeps us from treating Decile as the system of record for NAV.
This feedback is based on the Decile MCP tool list as of Nov 5, 2026. If the REST API already covers any of the items below, please tell us and expose the same thing in the MCP.
WHAT WORKS TODAY
- list_portfolio_companies, get_portfolio_company
- list_portfolio_company_valuations, get_portfolio_company_valuation (with funding rounds embedded)
- list_portfolio_company_investments (tranche level FMV and mark provenance)
- Journal entries, organizations, people, files, capital accounts, schedule of investments
WHAT IS MISSING, IN PRIORITY ORDER
- Create and update a valuation (the main ask) There is no write tool for portfolio company valuations. We need create, update, and delete (draft only) with these fields:
- portfolio_company_id (and optionally fund_id, since one company can be held by several funds)
- effective date
- event type or reason (SAFE cap, priced round, secondary sale, 409A, write-down, write-off, held at cost, public price)
- valuation basis (cap-adjusted, priced, cost) and the resulting mark: company valuation, price per share, or cap, whichever applies
- linked funding round
- free-text rationale
- supporting documents (existing file ids)
- source and confidence flag, so a mark based on a founder statement can be recorded as unverified until a document arrives
- Draft and approval state controlled through the API Marks affect NAV and the administrator package, so we do not want an API call to publish a mark silently. Please let the API create marks in a pending or draft state, return the approval state in the response, and expose approve and reject actions so an authorized human or the administrator can do it in the UI or via the API. Record the API key or MCP user as the creator in the audit trail. A dry_run or preview mode, like the preview_email tool already offers, would be ideal.
- Create and update funding rounds get_portfolio_company_valuation can embed funding rounds but we cannot create one. A SAFE or note round needs: security type, valuation cap, discount, amount raised, close date, lead investor, and whether the round is insider-led. Without this we cannot record a cap-based mark that is tied to its evidence.
- Expose the cap-adjusted calculation list_portfolio_company_investments states that it uses the normal, non-cap-adjusted calculation. We report both cap-adjusted and priced-only values to LPs. Please add a valuation_basis parameter (or return both values side by side) for current FMV, mark price per share, and MOIC, so we can reconcile Decile to our own numbers.
- Create portfolio companies and investments A newly closed SAFE is invisible to the API until someone enters it in the UI. We need create tools for a portfolio company (organization plus fund) and an investment tranche (date, amount, security, cap, series), plus a way to link source documents. Related: list_portfolio_companies has no name or legal name search and is ordered by id with keyset pagination only. Please add name search, fund filter, and an updated_since filter. The same company can appear more than once across funds, so a clear parent and fund relationship in the response would help.
- One consistent portfolio across legacy and current list_portfolio_company_investments returns a 422 for entities moved to the current portfolio. Please make every portfolio, valuation, and investment tool work across both, and return a flag showing which portfolio an entity lives in.
- Bulk upsert and idempotency Quarter-end marking touches 100+ positions. Please add a batch valuation upsert, an idempotency key on writes, and an external_id field so we can map our own record ids to Decile ids and avoid duplicates on retry.
- Better read filters and events
- Filter list_portfolio_company_valuations by status (draft, approved, rejected), fund, and date range
- NAV as of a date by fund, on each basis
- Webhook or event when a valuation is approved, changed, or rejected
- Permissions and MCP ergonomics
- Separate API scopes for valuation read, valuation write, and approval, so we can give an AI agent write-to-draft without approval rights
- Enumerate allowed values (event types, bases, security types) in each tool schema so the model does not guess them
- Stable machine-readable error codes with a clear message when a key lacks a scope
EXAMPLE REQUEST WE WOULD LIKE TO MAKE
POST /portfolio_company_valuations { "portfolio_company_id": 12345, "fund_id": 678, "effective_date": "2026-11-05", "event_type": "safe_cap", "valuation_basis": "cap_adjusted", "company_valuation_usd": 400000000, "funding_round_id": 9012, "rationale": "Latest bridge SAFE cap per founder. Document requested.", "source_confidence": "unverified", "document_ids": [], "status": "draft", "external_id": "our-tracker-rec-123" }
WHY IT MATTERS Decile feeds the administrator's NAV package, so it is the right system of record for marks. Right now the people who know about a new round (our team, using AI agents) cannot get that mark into Decile without a manual re-keying step, which causes delays and drift between our tracker and the NAV package. A write path with a draft and approval gate would let us keep the control we need and remove the double entry.
We are happy to beta test any of this, and to share a longer list of edge cases from our SAFE-heavy portfolio (extensions above the last priced round, acquihires with contingent consideration, secondary marks).
Thanks, Brian Bell