Token导航 LogoToken导航TokenDH.com
Aws Nasmatchstockprofile MCP logo
运维云端stdio官方级别未说明来源级核验

Aws Nasmatchstockprofile MCP

MCP Server

一个基于AWS CDK的自动化Excel处理服务,支持通过WebSocket API进行MCP式工具调用和ETL流程管理。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
工作流自动化PythonClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

aburmd

提供方

aburmd

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

Python code (using openpyxl) packaged & deployed.

详细介绍

欢迎来到您的CDK TypeScript项目

这是一个使用TypeScript进行CDK开发的空白项目。

cdk.json 文件告诉CDK工具包如何执行您的应用程序。

有用的命令

  • npm run build 将typescript编译为js
  • npm run watch 注意变化并编译
  • npm run test 执行jest单元测试
  • npx cdk deploy 将此堆栈部署到默认的AWS帐户/区域
  • npx cdk diff 将部署的堆栈与当前状态进行比较
  • npx cdk synth 发出合成的CloudFormation模板

aws nasmatch股票简介mcp/ │── cdk/#AWS cdk基础架构(TypeScript) │ ├── bin/ │ │ └── aws-nasmatchstockprofile-mcp.ts#CDK入口点 │ ├── lib/ │ │ └── aws-nasmatchstockprofile-mcp-stack.ts#主堆栈 │ ├── package.json │ ├── cdk.json 退回面条;转发 │ │── src/#Python运行时(MCP+AI代理) │ ├── mcp服务器/ │ │ ├── __初始化__南美国家巴拉圭的缩写(Paraguay) │ │ ├── main.py#MCP服务器条目 │ │ ├── excel_handler.py#excel更新的逻辑 │ │ ├── data_extractor.py#解析网站Excel的逻辑 │ │ └── config.py#配置(例如S3 bucket、env变量) │ │ │ ├── 代理商/ │ │ ├── __初始化__南美国家巴拉圭的缩写(Paraguay) │ │ ├── orchestrator.py#AI代理编排 │ │ └── prompts.py#系统提示、推理模板 │ │ │ ├── 测试/ │ │ └── test_excel_handler.py │ │ │ └── 需求.txt │ 会有一只章鱼。微笑。 │── README.md

git远程设置url来源https://aburmd@github/aburmd/aws-nasmatchstockprofile-mcp.git

ssh密钥生成器-t ed25519-C“aburmd@gmail.com"

猫~/.ssh/id_edu21519.pub

复制输出→ 转到GitHub→ 设置→ SSH和GPG密钥→ 新SSH密钥→ 粘贴。

git远程删除源 添加远程仓库源git@github.com:aburmd/aws-nasmatch股票概况-mcp.git

ssh-Tgit@github.com

您应该看到:“嗨,aburmd!您已成功通过身份验证。”

git推送-u源代码main

这是一张可粘贴的单张 主提示 你可以给你的代码助理来构建整个仓库。它符合所有要求: TypeScript中的CDK, Python中的所有运行时, 用于MCP样式工具的API网关WebSocket,以及 Step功能+ECS Fargate ETL。

______________________________________________________________________

🔧 主提示(复制并粘贴到此行下方)

您是AWS/CDK解决方案工程师和Python后端高级开发人员。 生成一个生产就绪的Git存储库,实现以下功能 所有基础设施都是TypeScript中的代码(CDK v2)Python 3.11中的所有运行时代码.

高级目标

  • 构建一个 MCP样式工具端点 超过 API网关WebSocket 因此,任何AI代理都可以调用以下工具:

- mapping.propose (基岩→ 克劳德;带置信度的列映射) - mapping.apply (DynamoDB出现故障) - excel.replace_table (S3+openpyxl;将表格写入Excel模板的目标工作表中)

  • 构建每日 确定性ETL 即:

- 倒像 raw/source.xlsx S3 - 标准化为CSV/Parquet(staging/) - 出版策划 master.xlsxcurated/ 使用Excel模板

  • 通过编排 阶跃函数 运行A ECS Fargate 任务(Python容器)用于繁重的ETL步骤。
  • 所有配置/版本化工件都存在于S3中(config/, raw/, staging/, curated/).

存储库布局(创建这些路径和文件)

aws-excel-mcp/
  README.md
  .gitignore
  package.json
  cdk.json
  tsconfig.json
  bin/app.ts
  lib/
    kms-stack.ts
    storage-stack.ts
    ecr-stack.ts
    network-stack.ts
    ecs-runner-stack.ts
    ws-mcp-stack.ts
    stepfn-stack.ts
    events-stack.ts
  containers/
    excel-runner/
      Dockerfile
      app/handler.py
  runtime/
    mcp_router/handler.py
    mapping_propose/handler.py
    mapping_apply/handler.py
    excel_replace/
      handler.py
      requirements.txt
  s3_bootstrap/config/
    mapping.yaml
    master_template.xlsx   # put a placeholder binary or describe in README to upload
  .github/workflows/cdk-deploy.yml

核心要求

基础架构(CDK TypeScript)

  • 密钥管理服务 CMK(alias/excel-pipeline-kms)用于S3+DynamoDB加密。
  • 第3页 带有前缀的bucket(版本化,KMS加密): raw/, staging/, curated/, config/.
  • DynamoDB:

- MappingOverrides (PK dataset_id 字符串,SK source_col 字符串)。 - WsConnections (PK connection_id STRING)用于WebSocket连接管理。

  • API网关WebSocket:

- 阶段 prod,路线: $connect, $disconnect, $default,加上明确的路线 mapping.propose, mapping.apply, excel.replace_table. - 路由器Lambda(Python) 处理连接/断开连接/默认和分派到工具Lambdas;回复完毕 @connections API

  • 工具Lambdas(Python):

- mapping_propose:呼叫 亚马逊基岩 (克劳德3.5十四行诗型号id anthropic.claude-3-5-sonnet-20240620-v1:0).输入: source_cols[], canonical_cols[]输出:JSON数组 [{from,to,confidence}].返回 严格JSON 只有。 - mapping_apply:将项目追加到 MappingOverrides. - excel_replace:负载 config/master_template.xlsx 从S3,将表格数据写入给定 sheet/start_cell 随着 openpyxl,并保存到 curated/master.xlsx.

  • 垂直路径计算机 具有公共+私有子网;S3(网关)和基岩运行时(接口)的VPC端点。
  • ECR ETL容器的存储库: excel-runner.
  • ECS Fargate:

- 要运行的群集+任务定义(1 vCPU/2GB) containers/excel-runner.

  • 阶跃函数 状态机:

1. Transform → 使用args运行ECS任务进行读取 raw/source.xlsx,标准化为 staging/orders.parquet + staging/orders.csv. 1. ProposeMapping → call mapping_propose Lambda。 1. ApplyMapping → call mapping_apply Lambda。 1. Publish → 运行ECS任务以创建/覆盖 staging/master_draft.xlsx 并促进 curated/master.xlsx 通过模板。

  • EventBridge 时间表:太平洋时间每天早上06:05(世界协调时13分),触发状态机。
  • 国际机械师协会 最低特权:

- 路由器: execute-api:ManageConnections, lambda:InvokeFunction 对于工具Lambdas,RW on WsConnections. - 工具Lambdas:范围S3,DDB;基岩调用以进行地图绘制。 - ECS任务角色:范围为S3 RW。

  • 使用 @aws-cdk/aws-apigatewayv2-alpha@aws-cdk/aws-apigatewayv2-integrations-alpha 用于WebSocket+Lambda集成。
  • 使用 @aws-cdk/aws-lambda-python-alpha PythonFunction 捆绑Python Lambdas和 requirements.txt 为了 excel_replace.

运行时代码(Python 3.11)

  • 路由器Lambda:

- 在…上 $connect:商店 connection_id 在DDB中,发送握手JSON { "mcp": "hello", "tools": ["mapping.propose","mapping.apply","excel.replace_table"] }. - 在…上 $disconnect:删除 connection_id. - 在…上 $default 或显式工具路由:解析body JSON;找出工具名称(routeKey或 body.tool);同步调用正确的工具Lambda;用以下方式回复客户 { ok: true, tool, result }.

  • mapping_propose Lambda:

- 提示模板 严格地 返回JSON数组;稳健地解析LLM输出;如果解析失败,返回 [].

  • 映射_应用Lambda:

- 输入: { "dataset_id": "orders_v1", "mapping": [{from,to,confidence}] }DDB的上级;返回计数。

  • excel_replace Lambda:

- 输入: {template_key, out_key, sheet, start_cell, data:[{...}]}. - 使用openpyxl清除合理范围,写入头+行,保存到S3。

  • ECS转轮容器 (excel-runner):

- CLI与 --op transform--op publish. - transform:从以下位置读取Excel raw/,申请 mapping.yaml 规则(重命名/dtypes/filters/dedupe),将Parquet+CSV写入 staging/. - publish:从S3读取CSV+模板,写入目标工作表/单元格,将草稿放入 staging/master_draft.xlsx 最后 curated/master.xlsx.

配置文件

  • s3_bootstrap/config/mapping.yaml (示例):
  dataset_id: "orders_v1"
  source:
    sheet: "Export_Orders"
    sheets:
      - name: "Export_Orders"
        rename:
          "Order Id": order_id
          "Customer Name": customer
          "Order Date": order_date
          "Total": total_amount
        dtypes:
          order_date: datetime
          total_amount: float
        dedupe_keys: [order_id]
  targets:
    - sheet: "Raw_Orders"
      mode: replace_table
  ai:
    min_confidence_auto_apply: 0.85
  • 放置占位符 master_template.xlsx (或用户应上传的文档)。

Dockerfile(Python)

  • containers/excel-runner/Dockerfile:基于 python:3.11-slim;安装 pandas, openpyxl, pyarrow, boto3, pyyaml.

GitHub操作(可选)

  • cdk-deploy.yml 构建CDK、合成和部署(OIDC角色通过secrets承担)。

非功能性需求

  • 清晰、防御性的错误处理(对格式错误的JSON或空数据集没有崩溃)。
  • 使用有用的上下文进行日志记录:请求ID、S3键、行数、置信度统计。
  • Idempotent发布(仅推广到 curated/ 成功运行后)。
  • 版本控制:回滚依赖于S3版本控制。
  • 安全性:最低权限IAM,KMS处于静止状态,尽可能将私有VPC流量传输到Bedrock/S3。

README.md(包括)

  • 高级架构图(ASCII ok)。
  • 设置步骤:

1. npm install, cdk bootstrap 1. cdk deploy Kms Storage Ecr Net 1. 构建和推送 excel-runner 图像到ECR 1. cdk deploy EcsRunner WsMcp StepFn Events 1. 上传 s3_bootstrap/config/* 以及一个样本 raw/source.xlsx

  • 如何测试WebSocket wscat:
  wscat -c wss://.execute-api..amazonaws.com/prod
  > {"tool":"mapping.propose","source_cols":["Order Id","Cust Name"],"canonical_cols":["order_id","customer"]}
  • 如何启动手动步骤函数执行,以及输出在S3中的位置。
  • 成本说明(API GW WS按消息付费;无ALB)。

验收标准

  1. cdk synthcdk deploy 在区域/帐户之外无需手动编辑即可成功。
  2. WebSocket连接成功; $connect 返回工具列表;召唤 mapping.propose 返回一个JSON数组(如果未启用Bedrock,则可模拟)。
  3. 运行状态机处理样本 raw/source.xlsx 进入 staging/*.parquet/.csv 并出版 curated/master.xlsx.
  4. excel.replace_table 写信给a *隐藏* 或暂存工作表,而不会损坏模板中的公式(可见工作表引用的文档 Raw_Orders).
  5. IAM策略仅限于必要的资源。

编码标准

  • Python:3.11,合理的类型提示,小函数,显式返回,PEP8。
  • CDK TS:清晰的堆栈边界,通过堆栈类属性导出密钥ARN/URL,没有硬编码的ARN。
  • 使用环境变量作为Bucket名称、DDB表、模型ID。
  • 工具Lambdas返回 严格JSON;路由器总是包裹在里面 {ok, tool, result}.

奖金(如果时间允许)

  • 添加a sfn.start 工具(Lambda),以便代理可以通过WebSocket启动批处理。
  • 如果任何映射置信度\<0.85,步骤功能选择状态需要人工批准。
  • 用于WebSocket的API GW授权人(Cognito或IAM)。

交付物:完全生成的仓库树,其中所有文件都按照上述内容填充,准备提交和部署。不要省略列出的任何文件。打印最终的存储库树和最后的任何部署后说明。

🔧 结束主提示

______________________________________________________________________

要我定制样品吗 mapping.yaml 确切的列名?如果你分享一个假人 source.xlsx 标题行和目标工作表名称,我将插入它们。

mkdir aws nasmatchstockprofile mcp cd aws nasmatch股票简介mcp

使用TypeScript初始化CDK

cdk初始化应用程序——语言类型脚本

安装cdk

节点-v npm-v

如果没有安装,请通过Node.js官方网站获取 或自制: brew安装节点

npm安装-g aws cdk

cdk引导aws://654654547262/us-east-1 cdk部署

npm运行构建

首先部署核心数据平面

cdk部署BaseInfra

部署网络+ECS运行器

cdk部署Net-EcsRunner

部署WebSocket+Lambdas

cdk部署WsMcp

部署步骤功能+计划

cdk部署StepFn事件

______________________________________________________________________

明白了👍 — 我们走过去吧 逐步 所以你可以学习如何处理这个问题 MCP(模型上下文协议)AWS CDK.

我们将把它视为:

  1. 业务需求 → 基于另一个Excel更新Excel。
  2. 建筑 → AWS经济高效、可扩展、基于Git的基础设施。
  3. MCP角色 → 通过AI代理自动化infra+运行时工作流。
  4. 逐步构建CDK → 从小(基础堆栈)开始,然后扩展。

______________________________________________________________________

1.业务要求

  • 你有 Excel文件A (来源)和 Excel文件B (目标)。
  • 系统应根据A的值(由您定义的规则)更新B。
  • 这一定是 自动化、可重复和基于云.

______________________________________________________________________

2.架构(AWS组件)

  • 第3页 → 存储输入和输出Excel文件。
  • Lambda(Python运行时) → 处理Excel更新(使用 openpyxlpandas).
  • EventBridge/S3触发器 → 上传新文件时启动处理。
  • IAM角色 → 安全访问。
  • (可选) 阶跃函数 如果工作流变得复杂。

就是这样 CDK驱动,通过Git部署。

______________________________________________________________________

3.MCP(模型上下文协议)的作用

  • MCP允许您 定义AI代理的操作 (和我一样)编排基础设施和运行时代码。
  • 例子:

- 定义a MCP中的工具 用于“部署CDK堆栈”。 - 为“Process Excel”定义另一个。

  • 然后你的AI代理可以 自主决定:上传文件→ 触发器Lambda→ 更新Excel→ 存储输出→ 通知你。

因此,MCP是粘合剂:

  • 描述能力 (例如“Excel处理器”)。
  • 将它们暴露给AI代理 (所以它知道它可以调用CDK/Lambda)。
  • 自动化工作流程 (而不是手动单击)。

______________________________________________________________________

4.循序渐进的CDK构建计划

以下是我们将如何逐步构建:

第一步: 基础堆栈

  • VPC(如果需要)、S3存储桶。
  • IAM角色和政策。
  • 输出:“我们可以上传Excel文件。”

第二步: Lambda运行时

  • Python代码(使用 openpyxl)打包和部署。
  • 已连接到S3。
  • 输出:“上传文件时运行Lambda。”

步骤3: 事件触发器

  • 配置S3→ EventBridge→ Lambda。
  • 输出:“上传时自动启动。”

步骤4: Excel处理逻辑

  • Lambda读取 fileA.xlsx & fileB.xlsx,应用规则,写回S3。
  • 输出:“Excel文件已自动更新。”

步骤5: MCP暴露

  • 定义MCP工具→ “上传Excel”、“运行处理器”、“部署堆栈”。
  • 输出:“AI代理可以端到端处理Excel更新。”

______________________________________________________________________

💡 成本:

  • S3=每GB便士。
  • Lambda=免费等级+每100万请求0.20美元。
  • EventBridge=每100万个事件1美元。
  • IAM角色=免费。

👉 本质上 每月接近0美元 除非你处理巨大的Excel文件。

______________________________________________________________________

要不要我来 从步骤1开始(基本堆栈CDK代码) 在编写代码之前,解释一下我们将添加的CDK资源?

aws nasmatch股票简介mcp

AWS上MCP控制、经济高效的Excel处理管道的基础CDK应用程序。

步骤1(此回购状态)

  • KMS CMK(别名: alias/excel-pipeline-kms)
  • S3存储桶(版本化,KMS加密)
  • DynamoDB表:

- MappingOverrides (PK:dataset_id,SK:source_col) - WsConnections (PK:connection_id)

安装和部署

# from repo root
npm install
npm run build
npm run synth
npm run deploy -- BaseInfra

# after step4
aws-nasmatchstockprofile-mcp/
  bin/app.ts
  lib/base-infra.ts              # add WebSocket API + permissions here
  lambda/
    processor/                   # (already from step2/3)
      handler.py
      requirements.txt
    wsmcp/
      on_connect.py
      on_disconnect.py
      on_message.py
      requirements.txt

Got it 👍 — let’s walk through step by step so you can learn how to approach this with MCP (Model Context Protocol) and AWS CDK.

We’ll treat this as:

Business Requirement → Update Excel based on another Excel.

Architecture → AWS cost-effective, scalable, Git-based infra.

MCP Role → Automate infra + runtime workflows via AI agent.

Step-by-Step CDK Build → Start small (base stack), then extend.

1. Business Requirement

You have Excel File A (source) and Excel File B (target).

The system should update B based on values from A (rules defined by you).

This must be automated, repeatable, and cloud-based.

2. Architecture (AWS Components)

S3 → Store input & output Excel files.

Lambda (Python runtime) → Process Excel updates (using openpyxl or pandas).

EventBridge / S3 Trigger → Kick off processing when new file uploaded.

IAM Roles → Secure access.

(Optional) Step Functions if workflow grows complex.

This is all CDK-driven, deployed via Git.

3. Role of MCP (Model Context Protocol)

MCP allows you to define actions for AI agents (like me) to orchestrate infra and runtime code.

Example:

Define a tool in MCP for "Deploy CDK stack".

Define another for "Process Excel".

Then your AI agent can decide autonomously: upload file → trigger Lambda → update Excel → store output → notify you.

So MCP is the glue to:

Describe capabilities (e.g., "Excel Processor").

Expose them to AI agent (so it knows it can invoke CDK/Lambda).

Automate workflows (instead of you clicking manually).

4. Step-by-Step CDK Build Plan

Here’s how we’ll build incrementally:

Step 1: Base Stack

VPC (if needed), S3 bucket(s).

IAM roles & policies.

Output: "We can upload Excel files."

Step 2: Lambda Runtime

Python code (using openpyxl) packaged & deployed.

Connected to S3.

Output: "Lambda runs when file uploaded."

Step 3: Event Trigger

Configure S3 → EventBridge → Lambda.

Output: "Automation kicks off on upload."

Step 4: Excel Processing Logic

Lambda reads fileA.xlsx & fileB.xlsx, applies rules, writes back to S3.

Output: "Excel files updated automatically."

Step 5: MCP Exposure

Define MCP tool(s) → “Upload Excel”, “Run Processor”, “Deploy Stack”.

Output: "AI agent can handle Excel updates end-to-end."

💡 Cost:

S3 = pennies per GB.

Lambda = free tier + $0.20 per 1M requests.

EventBridge = $1 per 1M events.

IAM roles = free.
👉 Essentially close to $0 monthly unless you process huge Excel files.

aws lambda invoke --function-name BaseInfra-ExcelProcessorFnB7B43EA3-fRqa6Yu3FXTU \
--payload '{
    "source_key":"source/Portfolio_Positions_Aug-21-2025.csv",
    "target_key":"source/nasmatch-portfolio.xlsx",
    "output_key":"output/nasmatch-portfolio-updated.xlsx"
  }' \
/tmp/out.json && cat /tmp/out.json

# make sure the template exists
aws s3 cp ~/Downloads/nasmatch-portfolio.xlsx s3://baseinfra-excelbucket52f10cb5-wwsunmtzl4nc/source/nasmatch-portfolio.xlsx

# upload CSV (should auto-trigger lambda)
aws s3 cp ~/Downloads/Portfolio_Positions_Aug-21-2025.csv s3://baseinfra-excelbucket52f10cb5-wwsunmtzl4nc/source/Portfolio_Positions_Aug-21-2025.csv

aws s3 cp data/positions-2025-08-23.csv s3://baseinfra-excelbucket52f10cb5-wwsunmtzl4nc/source/positions-2025-08-23.csv

# watch logs
aws logs tail /aws/lambda/BaseInfra-ExcelProcessorFnB7B43EA3-fRqa6Yu3FXTU --follow

# verify output
aws s3 cp s3://baseinfra-excelbucket52f10cb5-wwsunmtzl4nc/output/nasmatch-portfolio-updated.xlsx ./nasmatch-portfolio-updated.xlsx

目录标签

目录标签

工作流自动化PythonClaudeExcel处理本地部署AWSCDKWebSocketAPIETL流程自动化工作流

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP