frasma
これは Next.js を使用し、create-next-app で構築したプロジェクトです。
はじめに
まず、開発サーバを起動します:
npm run dev
# or
yarn devブラウザで http://localhost:3000 を開くると、結果を確認できます。
pages/index.tsx を変更すると、ペジの編集を開始できます。ファイルを編する、ペ目的是自動的に更新されます。
API ルート は http://localhost:3000/api/hello でアクセスできます。このエンドポイントは pages/api/hello.ts で編集できます。
pages/api ディレクトリは /api/* にマッピングされています。このディレクトリ内のファイルは、React ページではなく API ルート として扱われます。
Related MCP server: ticket-triage-mcp
プロセスブリーフ (見積依頼)
ランディング・フォームとチャット・ウィジェットは、どちらも プロセスブリーフ を POST /api/request-process-assessment に送信します。Fransco はこのブリー使って見積もりを準備します。
項目: 名前、仕事用メール、任意の会社名と役割、プロセス(必須)、任意の現在のツールとボリューム。
MONGODB_URI が設定されている場合、同じエンドポイントは users を upsert documentし、leads を挿入し、project_brief_submitted をログします。
必須環境変数
プロジェクトルートに .env.local ファイルを作成し、次の内容を記述します:
# Destination email (defaults to francemazzi@gmail.com)
MEETING_NOTIFICATION_EMAIL=francemazzi@gmail.com
# Sender identity (defaults to SMTP_USER if using SMTP)
MEETING_FROM_EMAIL=francemazzi@gmail.com
# Sender display name (defaults to "Frasma")
MEETING_FROM_NAME=Frasma
# --- Option A (recommended): Gmail SMTP via App Password ---
SMTP_HOST=smtp.gmail.com
SMTP_PORT=465
SMTP_SECURE=true
SMTP_USER=francemazzi@gmail.com
SMTP_PASS=your_gmail_app_password
# --- Option B: Resend ---
# RESEND_API_KEY=your_resend_api_key注意:
本番環境では、これらの変数はホスティングプロバイダ (例: Vercel) で設定してください。
SMTP も Resend も設定されていない場合、API はエラーを返し、ポップアップがユーザーにそのエラーを表示します。
診断チャット・エージェント
ウェブサイトのチャットはプロセス診断アシスタントです。lib/knowledge/ にあるバイリンガルでバージョン管理されたナレッジベースを使用して、次のことを行います:
運用上のボトルネックを特定する;
ワークフロー、システム、ボリューム、ベースライン指標、データ、制約を収集する;
ニーズを Frasma の機能にマッピングする;
編集可能なプロセスブリーフを準備する;
ユーザーが明示的に確認した後でのみ、そのブリープを
POST /api/request-process-assessmentに提送信する。
アシスタントがタイムアウトした場合、ウィジェットは会話履歴から事前に入力された同じプロセスブリーフフォームを表示します (追加の LLM 呼び出しなし)。
各ブラウザ・セッションは conversationId を localStorage に保存します。メッセージは、公式の Node.js ドライバを介して MongoDB Atlas のサーバ側に置続化されます。再び開くと、ウィジェットは GET /api/conversations/:id を介して会話を復元します。MongoDB が設定されていない場合、チャットはステートレスモードで動し続けます。
ナレッジベースや診断例に、価格、保証される削減額、顧客の機密情報、認証情報、第三者に関する個人的データを追加しないでください。
必要な OpenAI 環境変数 (チャット・エージェント + プロセス評価フォームの音声入力):
OPENAI_API_KEY=your_openai_api_key
# Optional; defaults to gpt-4o-mini
OPENAI_CHAT_MODEL=gpt-4o-mini
# Optional; defaults to whisper-1 (process assessment voice dictation)
OPENAI_WHISPER_MODEL=whisper-1チャットの永久続化 (MongoDB Atlas)
永続化は任意的ですが、本番では推奨されます。設定すると、API は次のものを保存します:
会話メタデータ (
lang、timezone、pagePath、コンバージョン・フラッグ);ユーザーとアシスタントのメッセージ;
プロセスブリーフからのデフォーム (
project_brief_submitted)。
セットアプ:
MongoDB Atlas で無料の M0 クラスタを作成します (推奨リージョン: フランクフルトまたアイルランド)。
読み書き込みアクセス権を持つデータ・ベース・スユーザを作成します。
Network Access で
0.0.0.0/0を許可します (Vercel serverless に必要)。接続文字列をコピーし、以下の環境変数をロカルと Vercel で設定します:
MONGODB_URI=mongodb+srv://user:pass@cluster.mongodb.net/frasma_chat?retryWrites=true&w=majority
CHAT_RETENTION_DAYS=90conversations.expiresAt のインデックスと TTL ポリシーは、最初の使用時に自動的に作成されます。
MONGODB_URI を設定しない場合、POST /api/chat とフォーム API は動作を続け、永続格の処理コールは無言でスキップされます。
接続を確認します:
npm run check:mongodb
curl http://localhost:3000/api/status正しく設定された場合の期待される出力:
{
"persistence": { "configured": true, "connected": true }
}チャットの応答が成功すると、conversationId も含まれます。
MongoDB トラブルシューティング
Atlas の Network Access に
0.0.0.0/0を含める必要があります (Vercel serverless で必須)。URI にはデタベース名を含める必要があります:
...mongodb.net/frsma_chat?...Atlas メユーザーのパスワードをリセットした場合、
.env.localと Vercel を両方の更新し、再デプロイします。パスワード内の特殊文字 (
@,#,%など) は URL エンコードします。Vercel 環境変数を変更したら、新しいデプロイをトージします。環境変数の変更は既存のデプロイに自動的に適用されません。
AI ディスカバリーと公開 MCP
エージェントと人向けの公開ディスカバリー・スーサフェス:
リソース | URL |
エージェント・アハブブ | |
サービス・ハブ | |
事例 | |
llms.txt | |
llms-it.txt | |
ホームの Markdown |
|
OpenAPI | <https://www.frsma.org/openaip axios> |
API カタラグ | |
エージェントスキル | |
MCP (Streamable HTTP) |
MCP ツール (読み取り専用 + ハンドオフ)
get_frasma_profilesearch_frasma_knowledgeget_diagnostic_frameworkprepare_diagnostic_summary— 診断を検証し、ハンドオフ URLを返します; メールは送信しませんprepare_project_brief— 見積もりに用いられるプロセスブリープを検証します;メールは送信しません
Cursor / Claude Desktop リモート構成例:
{
"mcpServers": {
"frasma": {
"url": "https://www.frasma.org/api/mcp"
}
}
}stdio のみのクライアント向け:
{
"mcpServers": {
"frasma": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://www.frasma.org/api/mcp"]
}
}
}ディレクトリへの対応 (本番デプロイ後)
/for-agents、/ervizi、llms.txt、llms-it.txt、/llms-it.txt、/llms、/llms-it.txt、/llms、/llms、/llms、/llms、/llms、/llms、/llms、/llmsを確認する — Wait, I made an error. Let me redo: The sentence I originally drafted: "1./for-agents、/ervizi、/llms.txt、/llms-it.txt、/api/mcPが本番で応答することを確認します。スモーク・テスト:
curl -H 'Accept: text/markdown' https://www.frsma.org/とhttps://www.frasma.org/ervizi/ddt-erp、らず、/、/って MCP실initialize+tools/listto/api/mcP..." Ok.
Actually I have to reconstruct the final items correctly:
ディレクトリ登録 (本番デプロイ後)
/for-agents、/ervizi、/llms.txt、/llms-it.txt、/llms.txt、/llms、/llms、/llms、/llms、/llms、/llms、/llms、/llms、/llmsを確認してください。
No! I should not paste wrong. Let me rethink the final. The final should be translated correctly.
At the end, I need to include:
MCP ツール (read-only + handoff) — I will simplify.
Let me write:
MCP ツール (読み取り専用 + ハンドオフ)
get_x... (five bullets)
prepare_diagnostic_summary — 診断を検証し、ハンドオフ URLを返します;メールは送信しません
prepare_project_brief — 見積もりに使うプロセスブリーを検証します;メールは送信しません
おー、 I forgot the bullet markers. Use *` preserve.
Example Cursor / Claude Desktop remote config:
{
"mcpServers": {
"frasma": {
"url": "https://www.frasma.org/api/mcp"
}
}
}For stdio-only clients:
{
"mcpServers": {
"frasma": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://www.frasma.org/api/mcp"]
}
}
}ディレクトリ登録 (本番デプロイ後)
本番環境で
/for-agents、/ervizi、/llms.txt、/llms-it.txt、/llms-it.txt、/llms、/llms、/llms、/llms、/llms、/llms、/llms、/llms、/llmsが応答することを確認します。スモーク・テスト:
curl -H 'Accept: text/markdown' https://www.frasma.org/とhttps://www.frasma.org/ervizi/ddt-erpを実行し、さらに/api/mcPに対して MCPinitialize+tools/listを実行します。/for-agentsの短い説明 (サービス・ハボに言及) を添えて、サーバを関連する MCP ディレクトリに登録します。SKILL.mdが変たった場合、agent-skills のダ來ジェストを同期します (shasum -a 256)。
品質チェック:
npm run lint
npm test
npm run build詳しく学ぶ
Next.js の詳しい内容は、以下のリソースを参照して降さい:
Next.js ドキュメンタ - Next.js の機能と API を学習します。
Next.js を学ぶ - インタラクテイブな Next.js チュートリアル。
Next.js GitHub リポジトリ もチェックしてください。フィードバックとコントリビューションを歓迎します!
Vercel へのデプロイ
Next.js アプをデプロイする最も簡単な方法は、Next.js のクリエイタが提供する Vercel プラットフォーム を使用することです。
詳細は、Next.js デプロイ開発ドキュメン を参照してください。
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only MCP access to a documented IT fleet: state, changes, posture. 15 tools.
Read-only MCP tools for AI agent discovery, structured resources, and NIULAI information.
Free read-only tools for agents: agent-readiness audit, TLS/DNS/header checks, MCP search, utils.
One governed MCP endpoint for 40+ business systems. Read-only, source-cited answers.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceExposes standard MCP tools for secure calculation, knowledge-base retrieval, document statistics, and sensitive operations like email, export, and deletion with human-in-the-loop approval.MIT
- AlicenseBqualityCmaintenanceEnables support agents to look up customer account details and billing or incident information through two read-only MCP tools for triage workflows.2MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI clients to perform safe, read-only IT diagnostics and retrieve local runbooks, asset records, and knowledge articles through MCP, with allowlisted network checks and audit logging.MIT
- AlicenseBqualityCmaintenanceEnables MCP-compatible agents to perform read-only incident investigations by querying logs, building timelines, searching runbooks, validating evidence, and creating ticket drafts only with explicit approval.7MIT