agentstack

finance MCP Server

AgentStack is a production-grade multi-agent framework built on Mastra, delivering 50+ enterprise tools, 25+ specialized agents, and A2A/MCP orchestration for scalable AI systems. Focuses on financial intelligence, RAG pipelines, observability, and secure governance. ACP Openclaw, Gemini CLI, Opencode

VerifiedInstall ReadyReviewed
financefinance
8 views36 stars7 forksv1.0.47ISC

Why This Matters

Discovered via github-seeds:mcp-hot and last synced 3mo ago.

VerifiedInstall ReadyReviewed
Source
github-seeds:mcp-hot
Stars
36
Last synced
3mo ago
Install
Instructions detected

Install

1. Install the package

npm install agentstack
32
Tools
0
Resources
0
Prompts
Standard I/O
Transport

Available Tools (32)

Botpress

Vellum AI

200

95ms

Purpose

Required

Playwright

User flows, critical paths

Spans

Q[Langfuse<br/>Traces] E -.->

85

420ms

playwright

`^1.59.1`

Top-K

H H -->

150

180ms

Feature

Implementation

Endpoint

RPS

Package

Version

Metric

Value

110

120ms

Type

Coverage

Requirement

Version

120

250ms

SERPAPI_API_KEY

Search/News/Shopping (10+ tools)

Examples

Impact

Metrics

R[Custom Scorers<br/>10+ Metrics] end style A fill:#1a237e,color:#fff style B fill:#0d47a1,color:#fff style C fill:#1565c0,color:#fff style D fill:#1976d2,color:#fff style E fill:#2e7d32,color:#fff style F fill:#e65100,color:#fff style G fill:#ef6c00,color:#fff style H fill:#f57c00,color:#fff style I fill:#ff8f00,color:#fff style J fill:#ffa000,color:#000 style K fill:#ffb300,color:#000 style L fill:#4a148c,color:#fff style M fill:#6a1b9a,color:#fff style N fill:#8e24aa,color:#fff style O fill:#ab47bc,color:#fff style P fill:#ce93d8,color:#000 style Q fill:#004d40,color:#fff style R fill:#00695c,color:#fff ``` ## 🤝 **Flowcharts** ```mermaid %%{init: {'theme': 'dark', 'themeVariables': { 'primaryColor': '#58a6ff', 'primaryTextColor': '#c9d1d9', 'primaryBorderColor': '#30363d', 'lineColor': '#58a6ff', 'sectionBkgColor': '#161b22', 'altSectionBkgColor': '#0d1117', 'sectionTextColor': '#c9d1d9', 'gridColor': '#30363d', 'tertiaryColor': '#161b22' }}}%% sequenceDiagram actor User as User participant Assistant as Assistant_Message participant NetworkProvider as NetworkProvider participant WorkflowProvider as WorkflowProvider participant ProgressPanel as ProgressPanel User->>Assistant: Run network or workflow Assistant->>NetworkProvider: Stream messages with parts Assistant->>WorkflowProvider: Stream messages with parts loop For_each_assistant_message_in_network NetworkProvider->>NetworkProvider: Iterate parts with index partIndex NetworkProvider->>NetworkProvider: Build id using messageId_partType_partIndex NetworkProvider->>NetworkProvider: Append ProgressEvent to allProgressEvents end loop For_each_assistant_message_in_workflow WorkflowProvider->>WorkflowProvider: Iterate parts with index partIndex WorkflowProvider->>WorkflowProvider: Build id using messageId_partType_partIndex WorkflowProvider->>WorkflowProvider: Append ProgressEvent to allProgressEvents end NetworkProvider->>ProgressPanel: Provide progressEvents for network view WorkflowProvider->>ProgressPanel: Provide progressEvents for workflow view ProgressPanel->>User: Render grouped progress items with stable IDs ``` ## 🚀 **Hooks** (5 Minutes to Production) ```mermaid %%{init: {'theme': 'dark', 'themeVariables': { 'primaryColor': '#58a6ff', 'primaryTextColor': '#c9d1d9', 'primaryBorderColor': '#30363d', 'lineColor': '#58a6ff', 'sectionBkgColor': '#161b22', 'altSectionBkgColor': '#0d1117', 'sectionTextColor': '#c9d1d9', 'gridColor': '#30363d', 'tertiaryColor': '#161b22' }}}%% classDiagram class MastraQueryHooks { <<interface>> %% Core access +useAgents() +useAgent(agentId, requestContext) +useAgentModelProviders() +useAgentSpeakers(agentId, requestContext) +useAgentListener(agentId, requestContext) %% Tools and processors +useTools(requestContext) +useTool(toolId, requestContext) +useToolProviders() +useToolProvider(providerId) +useToolProviderToolkits(providerId) +useToolProviderTools(providerId, params) +useToolProviderToolSchema(providerId, toolSlug) +useProcessors(requestContext) +useProcessor(processorId, requestContext) +useProcessorProviders() +useProcessorProvider(providerId) +useProcessorExecuteMutation(processorId) %% Workflows and runs +useWorkflows(requestContext, partial) +useWorkflow(workflowId, requestContext) +useWorkflowRun(workflowId, runId, options) +useWorkflowRuns(workflowId, params, requestContext) +useWorkflowSchema(workflowId) +useWorkflowStartMutation(workflowId) +useWorkflowStartAsyncMutation(workflowId) +useWorkflowDeleteRunMutation(workflowId) +useWorkflowResumeMutation(workflowId) +useWorkflowResumeAsyncMutation(workflowId) +useWorkflowCancelMutation(workflowId) +useWorkflowRestartMutation(workflowId) +useWorkflowRestartAsyncMutation(workflowId) +useWorkflowTimeTravelMutation(workflowId) +useWorkflowTimeTravelAsyncMutation(workflowId) %% Memory and threads +useThreads(params) +useThread(threadId, agentId, requestContext) +useThreadMessages(threadId, opts) +useThreadMessagesPaginated(threadId, opts) +useWorkingMemory(params) +useMemorySearch(params) +useMemoryStatus(agentId, requestContext, opts) +useMemoryConfig(params) +useObservationalMemory(params) +useAwaitBufferStatus(params) +useCreateThreadMutation() +useDeleteThreadMutation() +useUpdateMemoryThreadMutation(threadId, agentId) +useUpdateWorkingMemoryMutation(agentId, threadId) +useSaveMessageToMemoryMutation() +useDeleteThreadMessagesMutation(threadId, agentId) +useCloneThreadMutation(threadId, agentId) %% Stored agents and versions +useStoredAgents(params) +useStoredAgent(id, requestContext, options) +useStoredAgentVersions(storedAgentId, params, requestContext) +useStoredAgentVersion(storedAgentId, versionId, requestContext) +useCompareStoredAgentVersions(storedAgentId, fromId, toId, requestContext) +useCreateStoredAgentMutation() +useUpdateStoredAgentMutation(storedAgentId) +useDeleteStoredAgentMutation(storedAgentId) +useCreateStoredAgentVersionMutation(storedAgentId) +useActivateStoredAgentVersionMutation(storedAgentId) +useRestoreStoredAgentVersionMutation(storedAgentId) +useDeleteStoredAgentVersionMutation(storedAgentId) %% Stored prompt blocks +useStoredPromptBlocks(params) +useStoredPromptBlock(id, requestContext, options) +useStoredPromptBlockVersions(storedPromptBlockId, params, requestContext) +useStoredPromptBlockVersion(storedPromptBlockId, versionId, requestContext) +useCompareStoredPromptBlockVersions(storedPromptBlockId, fromId, toId, requestContext) +useCreateStoredPromptBlockMutation() +useUpdateStoredPromptBlockMutation(storedPromptBlockId) +useDeleteStoredPromptBlockMutation(storedPromptBlockId) +useCreateStoredPromptBlockVersionMutation(storedPromptBlockId) +useActivateStoredPromptBlockVersionMutation(storedPromptBlockId) +useRestoreStoredPromptBlockVersionMutation(storedPromptBlockId) +useDeleteStoredPromptBlockVersionMutation(storedPromptBlockId) %% Stored scorers +useStoredScorers(params) +useStoredScorer(id, requestContext, options) +useStoredScorerVersions(storedScorerId, params, requestContext) +useStoredScorerVersion(storedScorerId, versionId, requestContext) +useCompareStoredScorerVersions(storedScorerId, fromId, toId, requestContext) +useCreateStoredScorerMutation() +useUpdateStoredScorerMutation(storedScorerId) +useDeleteStoredScorerMutation(storedScorerId) +useCreateStoredScorerVersionMutation(storedScorerId) +useActivateStoredScorerVersionMutation(storedScorerId) +useRestoreStoredScorerVersionMutation(storedScorerId) +useDeleteStoredScorerVersionMutation(storedScorerId) %% Stored MCP clients and skills +useStoredMcpClients(params) +useStoredMcpClient(id, requestContext) +useCreateStoredMcpClientMutation() +useUpdateStoredMcpClientMutation(storedMcpClientId) +useDeleteStoredMcpClientMutation(storedMcpClientId) +useStoredSkills(params) +useStoredSkill(id, requestContext) +useCreateStoredSkillMutation() +useUpdateStoredSkillMutation(storedSkillId) +useDeleteStoredSkillMutation(storedSkillId) %% Vectors and embedders +useVectorIndexes() +useVectorDetails(indexName) +useVectors() +useEmbedders() +useVectorQueryMutation(vectorName, indexName) +useVectorUpsertMutation(vectorName, indexName) %% Workspaces and skills +useWorkspaces() +useWorkspace(id) +useWorkspaceInfo(id) +useWorkspaceFiles(id, params) +useWorkspaceReadFile(id, path) +useWorkspaceSearch(id, params) +useWorkspaceSkills(id) +useWorkspaceSearchSkills(workspaceId, params) +useWorkspaceSkill(workspaceId, skillName) +useWorkspaceSkillReferences(workspaceId, skillName) +useWorkspaceSkillReference(workspaceId, skillName, referencePath) +useWorkspaceWriteFileMutation(workspaceId) +useWorkspaceDeleteMutation(workspaceId) +useWorkspaceMkdirMutation(workspaceId) +useWorkspaceRenameMutation(workspaceId) %% A2A and Agent Builder +useA2ASendMessageMutation(agentId) +useA2ASendStreamingMessageMutation(agentId) +useA2AGetTask(agentId, params) +useA2ACancelTaskMutation(agentId) +useAgentBuilderActions() +useAgentBuilderAction(actionId) +useAgentBuilderRuns(actionId, params) +useAgentBuilderRun(actionId, runId, options) +useAgentBuilderCreateRunMutation(actionId) +useAgentBuilderStartAsyncMutation(actionId) +useAgentBuilderStartRunMutation(actionId) +useAgentBuilderResumeMutation(actionId) +useAgentBuilderResumeAsyncMutation(actionId) +useAgentBuilderCancelRunMutation(actionId) } class MastraClient { +listTools(requestContext) +getTool(toolId) +listToolProviders() +getToolProvider(providerId) +listProcessors(requestContext) +getProcessor(processorId) +listStoredAgents(params) +getStoredAgent(id) +listStoredPromptBlocks(params) +getStoredPromptBlock(id) +listStoredScorers(params) +getStoredScorer(id) +listStoredMCPClients(params) +getStoredMCPClient(id) +listStoredSkills(params) +getStoredSkill(id) +listWorkflows(requestContext, partial) +getWorkflow(workflowId) +getWorkingMemory(params) +searchMemory(params) +getObservationalMemory(params) +awaitBufferStatus(params) +listVectors() +listEmbedders() +getWorkspace(id) +getA2A(agentId) +getAgentBuilderActions() +getAgentBuilderAction(actionId) } class ReactQueryClient { +useQuery(options) +useMutation(options) +invalidateQueries(options) } MastraQueryHooks ..> MastraClient : uses MastraQueryHooks ..> ReactQueryClient : uses MastraClient <

180

120ms

GOOGLE_GENERATIVE_AI_API_KEY

Gemini LLM/Embeddings

ResearchAgent

Chat interface with citations

URL

What You'll See

75

350ms

LANGFUSE_BASE_URL

Langfuse tracing

Runtime

[Download](https://nodejs.org/)

95

140ms

POLYGON_API_KEY

Stock/Crypto quotes/aggs/fundamentals

Category

Tools

TURSO_DATABASE_URL

LibSQL persistence for auth/RAG

Vitest

Tool/agent logic in isolation