atomic

flowstate-epic-flowstate-community-epicdm-flowstate-mcp-web-transport

Package-local agent skill for @epicdm/flowstate-mcp-web-transport.

Tags

Publisher

Versions

1 version published — latest: 1.0.7

  • 1.0.7
    publishedInvalid Date

Skill

flowstate-mcp-web-transport Package Skill

Package: @epicdm/flowstate-mcp-web-transport Repository: epic-flowstate-community Path: packages/mcp-web-transport Version: 1.0.7

Use this published Dojo skill as the package-level entrypoint. For detailed workflows, use the package-local skills listed below.

Primary Package Workflow

MCP Web Transport Chat And Invoke

Status: Active Purpose: Use MCPWebTransport correctly for chat and Phase 1 text-wrapped tool invocation. Scope: src/transport/MCPWebTransport.ts. Trigger: A task calls or changes MCPWebTransport.chat() or MCPWebTransport.invoke(). Input: Messages or tool name/arguments, provider config, optional system prompt, optional tools, and optional chunk callback. Output: Correctly handled MCPResult.


Choose The Method

MethodUse whenCaveat
chat()Sending normal conversation messages, optional tools, optional streaming.It forwards tools to provider but does not execute them.
invoke()Asking the model to respond to a tool-name plus arguments prompt.It does not execute MCP tools natively.

Chat Example

import { MCPWebTransport } from '@epicdm/flowstate-mcp-web-transport'

const transport = new MCPWebTransport()
const result = await transport.chat({
  messages: [{ role: 'user', content: 'Summarize this task.' }],
  agentId: 'agent_123',
  conversationId: 'conv_123',
  provider,
  systemPrompt: 'Be concise.',
})

if (!result.success) {
  throw new Error(result.error)
}

Invoke Example

const result = await transport.invoke({
  toolName: 'task-list',
  arguments: { assignee: 'me' },
  userId: 'user_123',
  agentId: 'agent_123',
  conversationId: 'conv_123',
  provider,
})

invoke() sends a user message containing Execute tool: ... and serialized arguments. Use MCPToolExecutor for actual gateway tool calls.

Error Handling

Provider errors are caught and returned:

if (!result.success) {
  log.warn({ err: result.error, latencyMs: result.latencyMs })
}

Verification

yarn workspace @epicdm/flowstate-mcp-web-transport test -- MCPWebTransport
yarn workspace @epicdm/flowstate-mcp-web-transport typecheck

Red Flags

Red flagCorrection
Ignoring result.successCheck it before reading content.
Passing system messages in chat().messagesUse systemPrompt; chat() message roles only accept user and assistant.
Expecting invoke() to return structured tool outputUse gateway execution helpers instead.

Created: 2026-06-29

Package Skill Inventory

@epicdm/flowstate-mcp-web-transport Skill Inventory

Inventory date: 2026-06-29 Package path: packages/mcp-web-transport Dojo status: local skills authored; publication deferred until package skill review and repo-wide Dojo sync.

Skill Map

SkillTypeUse when
flowstate-mcp-web-transportworkflowAn agent needs to use or change this package and choose the right focused skill.
flowstate-mcp-web-transport-provider-factoryworkflowA task configures Anthropic, OpenAI, xAI, or a provider-compatible backend.
flowstate-mcp-web-transport-chat-invokeworkflowA task calls MCPWebTransport.chat() or MCPWebTransport.invoke().
flowstate-mcp-web-transport-streaming-toolsreferenceA task handles StreamChunk, MCPResult, provider tool schemas, or tool-call caveats.
flowstate-mcp-web-transport-mcp-tool-executorworkflowA task lists, caches, health-checks, or executes MCP Gateway tools.
flowstate-mcp-web-transport-chat-serviceworkflowA task uses ChatServiceWithTools for an agentic chat turn.
flowstate-mcp-web-transport-maintenanceworkflowA task updates docs, dependencies, tests, feature inventory, Dojo artifacts, or package metadata.

Composition

Start with flowstate-mcp-web-transport. Use focused skills together for a real tool-enabled chat flow:

  1. flowstate-mcp-web-transport-provider-factory
  2. flowstate-mcp-web-transport-mcp-tool-executor
  3. flowstate-mcp-web-transport-streaming-tools
  4. flowstate-mcp-web-transport-chat-invoke
  5. flowstate-mcp-web-transport-chat-service
  6. flowstate-mcp-web-transport-maintenance

Review Notes

The generated Dojo skillset under .flowstate/dojo/agent-skillset.md is not sufficient for publication as-is. It names feature exports but does not teach provider selection, text-wrapped invoke limitations, streaming chunk semantics, MCP Gateway dependency behavior, or maintenance drift.

Review Gate

@epicdm/flowstate-mcp-web-transport Skills Review

Review date: 2026-06-29 Reviewer: Codex Status: reviewed with verification notes

Evidence Used

  • packages/mcp-web-transport/package.json
  • packages/mcp-web-transport/README.md
  • packages/mcp-web-transport/.flowstate/docs/index.md
  • packages/mcp-web-transport/.flowstate/docs/api/index.md
  • packages/mcp-web-transport/.flowstate/docs/examples/basic-usage.md
  • packages/mcp-web-transport/src/index.ts
  • packages/mcp-web-transport/src/types/index.ts
  • packages/mcp-web-transport/src/providers/factory.ts
  • packages/mcp-web-transport/src/providers/openai.provider.ts
  • packages/mcp-web-transport/src/providers/anthropic.provider.ts
  • packages/mcp-web-transport/src/transport/MCPWebTransport.ts
  • packages/mcp-web-transport/src/services/MCPToolExecutor.ts
  • packages/mcp-web-transport/src/services/ChatServiceWithTools.ts
  • packages/mcp-web-transport/src/**/__tests__/*.test.ts
  • packages/mcp-web-transport/.flowstate/feature-matrix/inventory.md
  • packages/mcp-web-transport/.flowstate/dojo/agent-skillset.md

Quality Gate

  • Source-backed purpose: pass
  • Public entry points captured: pass
  • Package connections captured: pass
  • Composable skill inventory: pass
  • Skills formatted with name and trigger-focused description: pass
  • Generated-skill replacement quality: pass
  • Verification commands run: pass with warnings noted

Drift Findings

  • README.md usage contains a placeholder import instead of practical examples.
  • The package description/README promise HTTP/SSE transport, but source implements provider SDK calls with callback streaming.
  • MCPToolExecutor imports @epicdm/flowstate-mcp-client, but package.json does not declare it.
  • package.json declares peer dependency @epicdm/flowstate-agents-core, but source does not import it.
  • Tests are mostly interface/shallow provider tests and do not fully mock provider streaming or tool-call execution.
  • ChatServiceWithTools builds tool-result follow-up messages but does not make a second provider call before returning.
  • Generated Dojo skillset is export-list oriented and not ready to publish.

Verification Results

  • ASCII scan for package-local skills: passed.
  • Skill frontmatter scan for all SKILL.md files: passed.
  • yarn workspace @epicdm/flowstate-mcp-web-transport test --runInBand --no-cache: passed, 5 suites, 13 tests.
  • yarn workspace @epicdm/flowstate-mcp-web-transport typecheck: passed.
  • yarn workspace @epicdm/flowstate-mcp-web-transport build: passed with existing package export condition warning for types after require/import.
  • yarn workspace @epicdm/flowstate-mcp-web-transport lint: passed with 112 existing warnings.
  • yarn nx build @epicdm/flowstate-mcp-web-transport: passed, building flowstate-mcp-client and agents-core dependencies; emitted existing export-order warnings and Nx Cloud unconnected-workspace 401 notice.

Publication Decision

Do not publish the existing generated Dojo skilllets. Publish only after local package skill verification and the repo-wide Dojo sync step convert these reviewed skills into Dojo payloads.

Usage

Start with this skill to understand the package purpose, then use the package-local focused skills for specific workflows. Keep this Dojo version aligned with packages/mcp-web-transport/package.json. Do not treat generated feature lists as lessons; use workflow evidence from CODE-REVIEW.md, SKILL-INVENTORY.md, and REVIEW.md.

Install

Run this in your project to install via CLI:

fscloud dojo skill install flowstate-epic-flowstate-community-epicdm-flowstate-mcp-web-transport --target <target> --out ./skills

Replace <target> with your agent target identifier. See the CLI docs for details.