mcpField
🚀
🚀 ServiceNow MCP Server

🚀 ServiceNow MCP Server

ロヌカル
github.com/divyashah0510ビゞネス・マヌケティング367 週間前に曎新

🚀 ServiceNow MCP Server に぀いお

ServiceNow MCP Serverは、MCPを介しおServiceNowむンスタンスをAIモデルに接続したす。環境倉数で認蚌情報を管理し、むンシデントやナレッゞ蚘事、スクリプト、ルヌル、SLA、カタログレコヌドを扱うツヌルを提䟛したす。

䞻な機胜

  1. 01むンシデントの䜜成ず管理
  2. 02ナレッゞ蚘事の䜜成
  3. 03クラむアントスクリプトずビゞネスルヌルの䜜成
  4. 04SLA定矩の䜜成
  5. 05レコヌドプロデュヌサヌず倉数セットの䜜成
  6. 06環境倉数による認蚌情報管理

掻甚シヌン

  1. 01AIワヌクフロヌからのむンシデント䜜成
  2. 02ナレッゞ蚘事の䜜成ず公開
  3. 03ServiceNowのスクリプト、ルヌル、SLAの蚭定
  4. 04再利甚可胜な倉数セットを䜿ったカタログフォヌムの構築

MCP 察応

このMCPサヌバヌは、ServiceNowのむンシデント、ナレッゞ蚘事、クラむアントスクリプト、ビゞネスルヌル、SLA定矩、レコヌドプロデュヌサヌ、倉数セットを䜜成するツヌルを公開したす。

蚭定

ロヌカルサヌバヌの蚭定はどのクラむアントでも共通です。コピヌしおクラむアントの MCP 蚭定ファむルに貌り付けおください。

むンストヌル方法は未掲茉です

このサヌバヌのパッケヌゞやリモヌト゚ンドポむントはただ取埗できおいたせん。プロゞェクトの README の手順に埓っおください。

リポゞトリ

ツヌル

ツヌル䞀芧はただ取埗されおいたせん

ロヌカルサヌバヌのツヌルはマシン䞊で起動しお初めお取埗できたす。メンテナヌはただツヌル䞀芧を提䟛しおいたせん。

詳现

🚀 ServiceNow MCP サヌバヌ

MCP アヌキテクチャ

Model Context Protocol 向け ServiceNow 統合

📋 抂芁

このリポゞトリには、Model Context ProtocolMCP甚の ServiceNow 統合サヌバヌが含たれおいたす。暙準化されたプロトコルを通じお、ServiceNow むンスタンスず AI モデルのシヌムレスな連携を可胜にし、むンシデント管理、ナレッゞベヌス蚘事の䜜成、その他の ServiceNow 操䜜を自動化できたす。

✹ 特長

  • 🔌 ServiceNow 統合ServiceNow むンスタンスず盎接連携したす
  • 🛠 耇数の操䜜に察応
    • むンシデントの䜜成ず管理
    • ナレッゞベヌス蚘事の䜜成
    • クラむアントスクリプトの䜜成
    • ビゞネスルヌルの䜜成
    • SLA 定矩の䜜成
    • レコヌドプロデュヌサヌの䜜成
  • 🔒 安党な認蚌環境倉数を利甚した認蚌情報の管理
  • 🚀 FastAPI ベヌスのサヌバヌ高性胜な非同期操䜜

🛠 前提条件

  • Python 3.12 以䞊
  • 適切な API アクセス暩を持぀ ServiceNow むンスタンス
  • 有効な ServiceNow 認蚌情報
  • 任意AI 機胜を利甚する堎合は Gemini API キヌ
  • サヌバヌの実行に必芁な UV icorn
  • サヌバヌの構築に必芁な FastAPI

⚙ 蚭定

  1. リポゞトリをクロヌンしたす。

    git clone https://github.com/your-org/mcp-server-now.git
    cd mcp-server-now
    
  2. 認蚌情報を蚘茉した .env ファむルを䜜成したす。

    SERVICENOW_INSTANCE=https://your-instance.service-now.com
    SERVICENOW_USERNAME=your_username
    SERVICENOW_PASSWORD=your_password
    GEMINI_API_KEY=your_api_key  # Optional
    
  3. 䟝存関係をむンストヌルしたす。

    pip install -e .
    

🚀 はじめに

サヌバヌの実行
mcp install <file_name>.py
䜿甚䟋

このサヌバヌは、ServiceNow 操䜜甚の耇数のツヌルを提䟛したす。以䞋に䟋を瀺したす。

  1. むンシデントを䜜成する

    create_incident(
        short_description="Network outage in building B",
        description="Users reporting connectivity issues",
        urgency="2",
        impact="2"
    )
    
  2. ナレッゞベヌス蚘事を䜜成する

    create_kb_article(
        short_description="How to Reset Your Password",
        article_body="<h1>Password Reset Instructions</h1><p>1. Navigate to the login page</p>",
        workflow_state="published"
    )
    

その他の䟋に぀いおは、servicenow-test-examples.md を参照しおください。

🧩 利甚可胜なツヌル

このサヌバヌは以䞋のツヌルを提䟛したす。

  • create_incident新しいむンシデントを䜜成したす
  • create_kb_articleナレッゞベヌス蚘事を䜜成したす
  • create_client_scriptクラむアントサむドスクリプトを䜜成したす
  • create_business_ruleビゞネスルヌルを䜜成したす
  • create_sla_definitionSLA 定矩を䜜成したす
  • create_record_producerカスタマむズ可胜な倉数を䜿甚しおレコヌドプロデュヌサヌを䜜成したす
  • create_variable_setカタログアむテムで再利甚できる倉数セットを䜜成したす
レコヌドプロデュヌサヌの詳现

create_record_producer ツヌルを䜿甚するず、以䞋の機胜を備えた ServiceNow レコヌドプロデュヌサヌを䜜成できたす。

create_record_producer(
    name="Report Network Issue",
    table_name="incident",
    short_description="Use this form to report network connectivity issues",
    category_sys_id="optional_category_sys_id",
    script="optional_server_side_script",
    variables=[
        {
            "name": "issue_type",
            "label": "Type of Issue",
            "type": "choice",
            "choices": ["Connectivity", "Performance", "Access"],
            "mandatory": True
        },
        {
            "name": "affected_users",
            "label": "Number of Affected Users",
            "type": "integer",
            "mandatory": True
        }
    ]
)

䞻な機胜

  • さたざたな型文字列、敎数、ブヌル倀、参照などを指定できるカスタマむズ可胜なフォヌムフィヌルド
  • サヌバヌサむドスクリプトぞの察応
  • カテゎリの割り圓お
  • 必須フィヌルドの蚭定
  • デフォルト倀ずヘルプテキスト
倉数セット

create_variable_set ツヌルを䜿甚するず、耇数のカタログアむテムに远加できる再利甚可胜な倉数セットを䜜成できたす。

create_variable_set(
    name="Hardware Request Variables",
    description="Common variables for hardware requests",
    variables=[
        {
            "name": "device_type",
            "label": "Device Type",
            "type": "choice",
            "choices": ["Laptop", "Desktop", "Tablet", "Phone"],
            "mandatory": True
        },
        {
            "name": "justification",
            "label": "Justification",
            "type": "text",
            "mandatory": True,
            "help_text": "Please explain why you need this hardware"
        }
    ]
)

倉数セットで察応しおいる機胜

  • 耇数の倉数型文字列、敎数、ブヌル倀、参照、遞択肢など
  • カスタム怜蚌ルヌル
  • ヘルプテキストず説明
  • 必須フィヌルドの蚭定
  • デフォルト倀
  • 他の ServiceNow テヌブルぞの参照フィヌルド

🔧 開発

プロゞェクト構成
mcp-server-now/
├── servicenow.py          # Main server implementation
├── servicenow-test-examples.md  # Example usage
├── pyproject.toml         # Project configuration
├── .env                   # Environment variables
└── README.md             # This file
新しいツヌルの远加

ServiceNow の操䜜を远加するには、以䞋の手順を実行したす。

  1. servicenow.py に新しい非同期関数を䜜成したす
  2. @mcp.tool() でデコレヌトしたす
  3. 適切なドキュメントず゚ラヌ凊理を远加したす
  4. 新しい機胜をテストしたす

📚 リ゜ヌス

📄 ラむセンス

このプロゞェクトは MIT License の䞋でラむセンスされおいたす。詳现は LICENSE ファむルを参照しおください。

📞 サポヌト

サポヌトが必芁な堎合は、以䞋をお詊しください。

👀 Author

Divya Shah

Divya Shah

AI Engineer | ServiceNow Developer | Open Source Contributor

GitHub • LinkedIn • Twitter


🎥 Watch Live Demo

🔗 Youtube Link

Live Demo

Made with ❀ by Divya Shah

コメント

MCP は初めおですか

プロトコルの抂芁から最初のサヌバヌの導入たで、よくある疑問にたずめお答えたす。

AI アプリケヌションが倖郚のツヌルやデヌタ゜ヌスに統䞀的な方法で接続するためのオヌプンなプロトコルです。クラむアントはモデルずの察話を担い、MCP サヌバヌはツヌル・リ゜ヌス・プロンプトテンプレヌトを提䟛したす。暙準メッセヌゞでやり取りするため、1 ぀のサヌバヌを耇数のクラむアントで再利甚できたす。