SS&C Geneva · Capability

SS&C Geneva Fund Operations

Unified workflow capability for fund accounting and portfolio management operations using SS&C Geneva. Enables portfolio managers, fund accountants, and operations teams to manage portfolios, process trades, calculate NAV, and report on investor positions across multi-asset fund structures.

Run with Naftiko SS&C GenevaFund AccountingPortfolio ManagementAsset ManagementFinancial ServicesNAV Calculation

What You Can Do

GET
List portfolios — List portfolios with optional type, currency, and status filtering
/v1/portfolios
GET
Get portfolio — Get portfolio details including AUM and metadata
/v1/portfolios/{portfolioId}
GET
Get portfolio positions — Get portfolio positions as of a specific date
/v1/portfolios/{portfolioId}/positions
GET
List trades — List trades for a portfolio in a date range
/v1/portfolios/{portfolioId}/trades
POST
Create trade — Submit a new trade for processing and settlement
/v1/portfolios/{portfolioId}/trades
GET
Get portfolio nav — Get NAV calculation for a portfolio on a specific date
/v1/portfolios/{portfolioId}/nav
GET
List investors — List investors with capital allocations for a fund
/v1/portfolios/{portfolioId}/investors

MCP Tools

list-portfolios

List SS&C Geneva fund portfolios with optional filtering by type, currency, and status

read-only idempotent
get-portfolio

Get SS&C Geneva portfolio details including AUM, manager, and share classes

read-only idempotent
get-portfolio-positions

Get portfolio positions as of a date with market values and unrealized P&L

read-only idempotent
list-trades

List trades for a portfolio within a date range with settlement status

read-only idempotent
create-trade

Submit a new trade to SS&C Geneva for processing and settlement

get-portfolio-nav

Get NAV calculation for a portfolio on a specific date with component breakdown

read-only idempotent
list-investors

List investors in a portfolio with capital balances and ownership percentages

read-only idempotent

APIs Used

ssc-geneva-fund-accounting

Capability Spec

fund-operations.yaml Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "SS&C Geneva Fund Operations"
  description: >-
    Unified workflow capability for fund accounting and portfolio management
    operations using SS&C Geneva. Enables portfolio managers, fund accountants,
    and operations teams to manage portfolios, process trades, calculate NAV,
    and report on investor positions across multi-asset fund structures.
  tags:
    - SS&C Geneva
    - Fund Accounting
    - Portfolio Management
    - Asset Management
    - Financial Services
    - NAV Calculation
  created: "2026-05-02"
  modified: "2026-05-02"

binds:
  - namespace: env
    keys:
      SSC_GENEVA_API_TOKEN: SSC_GENEVA_API_TOKEN

capability:
  consumes:
    - import: ssc-geneva-fund-accounting
      location: ./shared/fund-accounting.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: ssc-geneva-fund-operations-api
      description: "Unified REST API for SS&C Geneva fund operations."
      resources:
        - path: /v1/portfolios
          name: portfolios
          description: "Portfolio and fund management"
          operations:
            - method: GET
              name: list-portfolios
              description: "List portfolios with optional type, currency, and status filtering"
              call: "ssc-geneva-fund-accounting.list-portfolios"
              with:
                fundType: "rest.fundType"
                currency: "rest.currency"
                status: "rest.status"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/portfolios/{portfolioId}
          name: portfolio-detail
          description: "Individual portfolio details"
          operations:
            - method: GET
              name: get-portfolio
              description: "Get portfolio details including AUM and metadata"
              call: "ssc-geneva-fund-accounting.get-portfolio"
              with:
                portfolioId: "rest.portfolioId"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/portfolios/{portfolioId}/positions
          name: positions
          description: "Portfolio positions and holdings"
          operations:
            - method: GET
              name: get-portfolio-positions
              description: "Get portfolio positions as of a specific date"
              call: "ssc-geneva-fund-accounting.get-portfolio-positions"
              with:
                portfolioId: "rest.portfolioId"
                asOfDate: "rest.asOfDate"
                assetClass: "rest.assetClass"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/portfolios/{portfolioId}/trades
          name: trades
          description: "Trade capture and processing"
          operations:
            - method: GET
              name: list-trades
              description: "List trades for a portfolio in a date range"
              call: "ssc-geneva-fund-accounting.list-trades"
              with:
                portfolioId: "rest.portfolioId"
                startDate: "rest.startDate"
                endDate: "rest.endDate"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: create-trade
              description: "Submit a new trade for processing and settlement"
              call: "ssc-geneva-fund-accounting.create-trade"
              with:
                portfolioId: "rest.portfolioId"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/portfolios/{portfolioId}/nav
          name: nav
          description: "NAV calculation and reporting"
          operations:
            - method: GET
              name: get-portfolio-nav
              description: "Get NAV calculation for a portfolio on a specific date"
              call: "ssc-geneva-fund-accounting.get-portfolio-nav"
              with:
                portfolioId: "rest.portfolioId"
                navDate: "rest.navDate"
                navType: "rest.navType"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/portfolios/{portfolioId}/investors
          name: investors
          description: "Investor accounting"
          operations:
            - method: GET
              name: list-investors
              description: "List investors with capital allocations for a fund"
              call: "ssc-geneva-fund-accounting.list-investors"
              with:
                portfolioId: "rest.portfolioId"
                status: "rest.status"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9090
      namespace: ssc-geneva-fund-operations-mcp
      transport: http
      description: "MCP server for AI-assisted SS&C Geneva fund operations and reporting."
      tools:
        - name: list-portfolios
          description: "List SS&C Geneva fund portfolios with optional filtering by type, currency, and status"
          hints:
            readOnly: true
            idempotent: true
          call: "ssc-geneva-fund-accounting.list-portfolios"
          with:
            fundType: "tools.fundType"
            currency: "tools.currency"
            status: "tools.status"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-portfolio
          description: "Get SS&C Geneva portfolio details including AUM, manager, and share classes"
          hints:
            readOnly: true
            idempotent: true
          call: "ssc-geneva-fund-accounting.get-portfolio"
          with:
            portfolioId: "tools.portfolioId"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-portfolio-positions
          description: "Get portfolio positions as of a date with market values and unrealized P&L"
          hints:
            readOnly: true
            idempotent: true
          call: "ssc-geneva-fund-accounting.get-portfolio-positions"
          with:
            portfolioId: "tools.portfolioId"
            asOfDate: "tools.asOfDate"
            assetClass: "tools.assetClass"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-trades
          description: "List trades for a portfolio within a date range with settlement status"
          hints:
            readOnly: true
            idempotent: true
          call: "ssc-geneva-fund-accounting.list-trades"
          with:
            portfolioId: "tools.portfolioId"
            startDate: "tools.startDate"
            endDate: "tools.endDate"
            tradeStatus: "tools.tradeStatus"
          outputParameters:
            - type: object
              mapping: "$."
        - name: create-trade
          description: "Submit a new trade to SS&C Geneva for processing and settlement"
          hints:
            readOnly: false
            idempotent: false
          call: "ssc-geneva-fund-accounting.create-trade"
          with:
            portfolioId: "tools.portfolioId"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-portfolio-nav
          description: "Get NAV calculation for a portfolio on a specific date with component breakdown"
          hints:
            readOnly: true
            idempotent: true
          call: "ssc-geneva-fund-accounting.get-portfolio-nav"
          with:
            portfolioId: "tools.portfolioId"
            navDate: "tools.navDate"
            navType: "tools.navType"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-investors
          description: "List investors in a portfolio with capital balances and ownership percentages"
          hints:
            readOnly: true
            idempotent: true
          call: "ssc-geneva-fund-accounting.list-investors"
          with:
            portfolioId: "tools.portfolioId"
            status: "tools.status"
          outputParameters:
            - type: object
              mapping: "$."