Token导航 LogoToken导航TokenDH.com
Fin Islam logo
金融服务未说明官方级别未说明来源级核验

Fin Islam

MCP Server

AI驱动的伊斯兰金融问答助手,具备基于RAG的知识检索、多代理协调、MCP利润计算和流式响应功能。

工具数

2

提示词数

0

GitHub Stars

1

资源数

0
TypeScript金融数据数据分析

安装说明

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

作者 / 组织

dannycahyo

提供方

dannycahyo

最后核验

2026/5/17 20:20

快速接入

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

详细介绍

伊斯兰金融知识助理

人工智能聊天机器人用于伊斯兰金融问题。具有基于RAG的知识检索、多代理编排、MCP利润计算和流式响应功能。

特性

  • RAG知识库:使用pgvector(768个dim嵌入)对30多个伊斯兰金融文档进行矢量搜索
  • 多代理系统:路由→ 知识/计算→ 合规剂管道
  • 利润计算器:通过MCP进行Musharakah和Mudharabah计算
  • 流媒体聊天:基于SSE的逐个令牌响应传递
  • 管理员仪表板:支持PDF/DOCX/TXT/MD的文档上传
  • 双LLM配置:云LLM+用于生产的本地嵌入

技术栈

技术
前端React 18.3、React Router v7、TanStack查询、XState、Tailwind、shadcn/ui
后端Hono 4.6,Drizzle ORM,Langchain 0.3,@Langchain/ollama
数据库PostgreSQL 16+pgvector
LLMOllama(Llama 3.1 8B),nomic嵌入文本嵌入
MCP@modelcontextprotocol/sdk 1.0
构建Vite、TypeScript 5.3、pnpm工作区

项目结构

├── frontend/              # React SPA
│   ├── app/
│   │   ├── routes/        # / (chat), /admin
│   │   ├── components/    # Chat, DocumentUpload
│   │   ├── hooks/         # use-chat-stream (SSE)
│   │   └── reducer/       # Chat state (useReducer)
│   └── vite.config.ts     # Dev server :3000, proxy /api → :3001
│
├── backend/               # Hono API server
│   ├── agents/            # 4-agent system
│   │   ├── agent-orchestrator.ts
│   │   ├── routing-agent.ts      # 6 categories
│   │   ├── knowledge-agent.ts    # RAG pipeline
│   │   ├── calculation-agent.ts  # MCP client
│   │   └── compliance-agent.ts   # Shariah validation
│   ├── services/
│   │   ├── embedding-service.ts  # nomic-embed-text
│   │   ├── document-processor.ts # PDF/DOCX/TXT/MD
│   │   └── chunking-service.ts   # 800 tokens/chunk
│   ├── repositories/
│   │   └── chunk.repository.ts   # Vector search (cosine)
│   └── db/
│       └── schema.ts             # documents, documentChunks
│
├── mcp-server/            # MCP calculation service
│   ├── src/
│   │   ├── index.ts              # McpServer + StdioTransport
│   │   ├── tools/                # calculate_musharakah, calculate_mudharabah
│   │   └── calculators/          # Business logic
│   └── package.json
│
├── shared/                # Shared Zod schemas
│   └── src/schemas/
│
├── docker/                # Docker configs
│   ├── backend.Dockerfile        # Multi-stage, tsx runtime
│   ├── frontend.Dockerfile       # Vite build → nginx
│   ├── nginx.conf                # /api proxy, SPA routing
│   ├── entrypoint.sh             # Migrations + start
│   └── ollama-entrypoint.sh      # Auto-pull embeddings
│
├── docker-compose.yml            # Dev: postgres only
└── docker-compose.prod.yml       # Prod: full stack

先决条件

  • Node.js 20+
  • pnpm 9+
  • 码头工人
  • Ollama(本地开发)

快速启动(开发)

# Install dependencies
pnpm install

# Start PostgreSQL
docker-compose up -d

# Install Ollama + pull models
brew install ollama
ollama serve
pnpm ollama:pull  # llama3.1:8b + nomic-embed-text

# Setup database
pnpm db:generate && pnpm db:migrate

# Start all services
pnpm dev
# Frontend: http://localhost:3000
# Backend:  http://localhost:3001

生产部署

# Configure environment
cp .env.prod.example .env.prod
# Edit: POSTGRES_PASSWORD, OLLAMA_API_KEY, OLLAMA_CLOUD_URL

# Build and start
docker compose -f docker-compose.prod.yml up -d --build

# Access: http://localhost (nginx serves frontend, proxies /api)

生产架构

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   nginx:80  │────▶│ backend:3001│────▶│postgres:5432│
│  (frontend) │     │ + MCP server│     │  (pgvector) │
└─────────────┘     └──────┬──────┘     └─────────────┘
                           │
          ┌────────────────┴────────────────┐
          │                                 │
   ┌──────▼──────┐                  ┌───────▼───────┐
   │ ollama:11434│                  │ Ollama Cloud  │
   │ (embeddings)│                  │ (LLM model)   │
   └─────────────┘                  └───────────────┘

LLM配置

地方(发展)

OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL=llama3.1:8b
OLLAMA_EMBEDDING_MODEL=nomic-embed-text

云+本地嵌入(生产)

OLLAMA_CLOUD_URL=https://ollama.com
OLLAMA_MODEL=gpt-oss:120b-cloud
OLLAMA_API_KEY=your-key

OLLAMA_BASE_URL=http://ollama:11434
OLLAMA_EMBEDDING_MODEL=nomic-embed-text

多代理流

User Query
    │
    ▼
┌─────────────────┐
│  Routing Agent  │  → Classifies: principles|products|compliance|
│  (temp: 0.1)    │     comparison|calculation|general
└────────┬────────┘
         │
    ┌────┴────┐
    ▼         ▼
┌────────┐ ┌───────────┐
│Knowledge│ │Calculation│
│ Agent  │ │  Agent    │
│ (RAG)  │ │  (MCP)    │
└────┬───┘ └─────┬─────┘
     │           │
     └─────┬─────┘
           ▼
    ┌────────────┐
    │ Compliance │  → COMPLIANT | FLAGGED
    │   Agent    │
    └────────────┘

关键配置

配置位置
嵌入调光768backend/db/schema.ts:27
区块大小800个代币backend/services/chunking-service.ts:35
区块重叠100个代币backend/services/chunking-service.ts:36
检索限制5→ 重新排序为3KNOWLEDGE_RETRIEVAL_LIMIT, KNOWLEDGE_RERANKED_LIMIT
会话超时30分钟backend/services/session-store.ts:38
最大文件大小10 MBbackend/services/document-processor.ts:32

脚本

pnpm dev              # Start all services
pnpm build            # Production build
pnpm db:generate      # Generate migrations
pnpm db:migrate       # Run migrations
pnpm db:studio        # Drizzle Studio
pnpm ollama:pull      # Pull required models
pnpm seed             # Seed documents
pnpm test             # Run tests

许可证

麻省理工学院 丹尼·杜伊·卡希诺

作者

Danny-人工智能工程师

目录标签

目录标签

TypeScript金融数据数据分析伊斯兰金融本地部署AI助手知识检索金融计算合规检查

接入字段

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

未说明

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

session

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明session部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP