Skip to main content
Glama
Ayushsharma109

OpsMCP

🚀 OpsMCP — AIを活用した会社運営エージェント

Model Context Protocol (MCP) を使用して、自然言語によるAI対話をPostgreSQLデータベースに安全に接続する、AIを活用した会社運営エージェントです。

📌 概要

OpsMCPを使用すると、ユーザーは手動でSQLクエリを書いたり複雑な管理パネルを操作したりする代わりに、自然言語で会社データを操作できます。

このシステムは、MCPツールを通じてAIエージェントをPostgreSQLデータベースに接続し、エージェントが情報の取得、ユーザーの分析、承認されたデータベース操作の実行を行えるようにします。

機密性の高い書き込み操作については、データベースを変更する前にユーザーの明示的な確認が必要です。


Related MCP server: Postgres MCP Server

🎯 課題

従来の社内システムでは、ユーザーは以下のことを求められることがよくあります:

  • 複数の管理ダッシュボードを操作する

  • データベース構造を理解する

  • SQLクエリを書く

  • 反復的な操作を手動で実行する

  • データベースの変更を別途追跡する

これにより、日常的な会社運営に不必要な複雑さが生じています。


💡 解決策

OpsMCPは、会社運営のための自然言語インターフェースを提供します。

次のように書く代わりに:

SELECT id, name, email, role
FROM users
ORDER BY id;

ユーザーは単に次のように尋ねることができます:

「すべてのユーザーを表示して。」

AIが必要なMCPツールを判断し、それを実行して結果を受け取り、人間にわかりやすい応答に変換します。


🧠 仕組み

                   ┌──────────────────────┐
                   │      Web Dashboard   │
                   └──────────┬───────────┘
                              │
                              ▼
                   ┌──────────────────────┐
                   │      AI Agent        │
                   │  Natural Language    │
                   └──────────┬───────────┘
                              │
                       MCP Tool Calling
                              │
                              ▼
                   ┌──────────────────────┐
                   │     MCP Server       │
                   │                      │
                   │ Tools • Resources    │
                   │ Prompts • Security   │
                   └──────────┬───────────┘
                              │
                              ▼
                   ┌──────────────────────┐
                   │     PostgreSQL       │
                   │      Database        │
                   └──────────────────────┘

✨ 主な機能

🤖 自然言語によるデータベース操作

ユーザーは通常の言葉で会社データを操作できます。

例:

Show me all users.
Find user with ID 2.
Create a new user named Rahul with role developer.
Change Rahul's role to manager.
Analyze all users and tell me which role has the most users.

🔧 MCPツール

このプロジェクトは、データベース操作をMCPツールとして公開しています。

現在のツールは以下のとおりです:

ツール

目的

get_users

すべてのユーザーを取得する

get_user_by_id

特定のユーザーを取得する

create_user

新しいユーザーを作成する

update_user_role

ユーザーの役割を更新する

analyze_users

ユーザー分布を分析する


📚 MCPリソース

このプロジェクトは、AIエージェントに構造化されたコンテキスト情報を提供するためのMCPリソースも示しています。

例:

company://info

このリソースには、以下の情報が含まれています:

  • 部署

  • 会社の役割

  • 組織構造


🧩 MCPプロンプト

ユーザー分析などの構造化された操作のために、再利用可能なMCPプロンプトが含まれています。

分析ワークフローの例:

1. Count total users
2. Group users by role
3. Identify unusual roles
4. Generate a summary

🔐 セキュリティ

セキュリティはこのプロジェクトの重要な部分です。

APIキー認証

MCPサーバーは、HTTP認証ヘッダーを使用したAPIキー認証をサポートしています。

2つの権限レベルが実装されています:

READ_ONLY
READ_WRITE

認可

読み取り操作は、読み取り専用権限で実行できます。

データベースを変更する操作には、以下が必要です:

READ_WRITE

権限。


⚠️ 書き込み操作前の確認

データベースを変更する操作を実行する前に、AIクライアントはユーザーに確認を求めます。

例:

⚠️ WRITE OPERATION REQUIRES CONFIRMATION

Tool      : update_user_role
Arguments : {
    "user_id": 2,
    "new_role": "manager"
}

Do you want to continue? (yes/no)

データベースは、明示的な承認があった場合にのみ変更されます。


🛡️ 入力検証

データベース操作の前に、ユーザー入力が検証されます。

たとえば、サポートされている役割は次のとおりです:

developer
designer
product manager
manager

次のような無効な入力は:

aestronuot

データベースに挿入される代わりに拒否されます。


📋 監査ログ

データベースを変更する操作は監査ログに記録されます。

例:

action          | tool_name        | status
----------------+------------------+---------
update_user_role| update_user_role  | SUCCESS

これにより、機密性の高い操作のトレーサビリティが提供されます。


🗂️ プロジェクト構造

OPSMCP-AI-AGENNT/
│
├── server/
│   ├── auth/
│   ├── database/
│   │   └── connection.py
│   │
│   ├── prompts/
│   │   └── user_analysis.py
│   │
│   ├── resources/
│   │   └── company.py
│   │
│   └── tools/
│       ├── audit.py
│       └── user_tools.py
│
├── static/
│   ├── app.js
│   └── style.css
│
├── templates/
│   └── index.html
│
├── ai_client.py
├── web_app.py
├── run_server.py
├── requirements.txt
├── .gitignore
└── README.md

🛠️ 技術スタック

バックエンド

  • Python

  • FastAPI

  • Uvicorn

AI

  • OpenAI互換API

  • 関数/ツール呼び出し

  • 自然言語による対話

プロトコル

  • Model Context Protocol (MCP)

  • Streamable HTTPトランスポート

データベース

  • PostgreSQL

  • Psycopg

フロントエンド

  • HTML

  • CSS

  • JavaScript

セキュリティ

  • APIキー認証

  • 読み取り/書き込み認可

  • 確認ベースのデータベース変更

  • 入力検証

  • 監査ログ


⚙️ ローカルセットアップ

1. リポジトリをクローンする

git clone https://github.com/Ayushsharma109/OPSMCP-AI-AGENNT.git

cd OPSMCP-AI-AGENNT

2. 仮想環境を作成する

Windows:

python -m venv .venv

アクティベートする:

.venv\Scripts\activate

3. 依存関係をインストールする

pip install -r requirements.txt

4. 環境変数を設定する

.env ファイルを作成します:

MCP_API_KEY=your_main_api_key
MCP_READONLY_KEY=your_readonly_api_key

OPENAI_API_KEY=your_api_key
OPENAI_BASE_URL=your_base_url
OPENAI_MODEL=your_model

DB_NAME=mcp_demo
DB_USER=postgres
DB_PASSWORD=your_password
DB_HOST=localhost
DB_PORT=5432

.env やAPIキーをGitHubにコミットしないでください。

5. PostgreSQLを起動する

PostgreSQLが実行中で、必要なデータベース/テーブルが存在することを確認します。

6. MCPサーバーを起動する

python run_server.py

MCPサーバーは次の場所で実行されます:

http://127.0.0.1:8000

7. Webアプリケーションを起動する

別のターミナルを開きます:

python web_app.py

ダッシュボードは次の場所で利用できます:

http://127.0.0.1:8080

🧪 ワークフロー例

ユーザー

Show me all users.

AIエージェント

get_users が必要であると判断します。

MCP

以下を実行します:

get_users()

PostgreSQL

ユーザーレコードを返します。

AI

データベースの結果を自然言語の応答に変換します。


🔄 書き込み操作のワークフロー

User Request
     ↓
AI Agent
     ↓
MCP Tool Selection
     ↓
Permission Check
     ↓
User Confirmation
     ↓
Input Validation
     ↓
PostgreSQL Update
     ↓
Audit Log
     ↓
AI Response

この設計は、誤ったデータベース変更を防ぐのに役立ちます。


🏆 ハッカソンMVP

OpsMCPは、MCPを使用してAIエージェントを実際のエンタープライズデータおよび制御されたバックエンド操作に接続する方法を示す、焦点を絞ったMVPとして開発されました。

このプロジェクトは以下に焦点を当てています:

  • AIツール呼び出し

  • MCPアーキテクチャ

  • 安全なデータベース操作

  • 変更に対する人間の確認

  • 監査可能性

  • 自然言語による会社運営


🚀 今後の改善点

考えられる今後の改善点は次のとおりです:

  • 役割ベースのダッシュボードアクセス

  • より多くのエンタープライズMCPツール

  • 高度な分析

  • マルチデータベースサポート

  • 監査ログの可視化の改善

  • デプロイ対応の認証

  • エンタープライズSSO統合

  • より細かい権限


👨💻 著者

Ayush Sharma

以下の探求を目的としたソロハッカソンプロジェクトとして構築:

AIエージェント + MCP + PostgreSQL + 安全なツール実行


📄 ライセンス

このプロジェクトは、主にハッカソンおよび学習プロジェクトとして意図されています。

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to interact with PostgreSQL databases using natural language queries, providing secure read-only access to database schemas and SQL translation capabilities.
    6
    7
  • F
    license
    A
    quality
    Not graded
    maintenance
    Enables comprehensive PostgreSQL database management through natural language including queries, schema operations, user management, and administrative tasks. Features enterprise-grade connection pooling, transaction support, and full database administration capabilities.
    11
    225
    1
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables natural language interaction with PostgreSQL databases, supporting query execution, schema management, data operations, user management, and database maintenance with secure remote access via HTTP/SSE transport.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables secure, read-only PostgreSQL database interaction through natural language, with automatic database discovery and connection management.
    2
    MIT

View all related MCP servers

Related MCP Connectors

  • Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.

  • The grounded data layer for any LLM: governed SQL, metrics, lineage and catalog over your data.

  • GibsonAI MCP server: manage your databases with natural language

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Ayushsharma109/OPSMCP-AI-AGENNT'

If you have feedback or need assistance with the MCP directory API, please join our Discord server