رابط MCP
یک کلاینت MCP را با OAuth به Expense Budget Tracker متصل کنید و دادههای مالی را با ایمنی بخوانید یا تغییر دهید.
نمای کلی
Expense Budget Tracker یک رابط میزبانیشدهٔ Model Context Protocol (MCP) در این نشانی ارائه میکند:
https://mcp.expense-budget-tracker.com/mcp
این نقطهٔ اتصال از Streamable HTTP و OAuth استفاده میکند. این نشانی را به کلاینت MCP بدهید که از سرورهای راه دور Streamable HTTP و کشف OAuth پشتیبانی میکند. جریان مجوزدهی، مرورگر را باز میکند تا وارد حساب شوید و دسترسی را تأیید کنید.
این رابط از کلید API استفاده نمیکند. توکنهای دسترسی و نوسازی OAuth اعتبارنامههای MCP هستند. ApiKey بلندمدتی که در مرجع Agent API توضیح داده شده است به یک یکپارچهسازی مستقیم و جداگانهٔ HTTP تعلق دارد و نقطهٔ اتصال MCP آن را نمیپذیرد.
کشف OAuth و اتصال
رابط میزبانیشده فرادادهٔ منبع محافظتشده را در این نشانی منتشر میکند:
https://mcp.expense-budget-tracker.com/.well-known/oauth-protected-resource/mcp
این فراداده کلاینت را به سرور مجوزدهی هدایت میکند. فرادادهٔ آن سرور در این نشانی در دسترس است:
https://auth.expense-budget-tracker.com/.well-known/oauth-authorization-server
یک کلاینت سازگار این مراحل را دنبال میکند:
- به
https://mcp.expense-budget-tracker.com/mcpمتصل میشود و فرادادهٔ منبع محافظتشده را پیدا میکند. - بهصورت پویا بهعنوان یک کلاینت عمومی OAuth ثبت میشود. از رمز کلاینت استفاده نمیشود.
- جریان Authorization Code را شروع میکند و نشانی مجوزدهی را در مرورگر کاربر باز میکند.
- برای هر درخواست مجوزدهی از PKCE استفاده میکند. تنها روش پشتیبانیشده برای code challenge، مقدار
S256است. - دامنهٔ
expenses:readرا درخواست میکند. فقط زمانیexpenses:writeرا اضافه میکند که به فراخوانیsql_executeنیاز باشد. - کد مجوز را با توکنهای دسترسی و نوسازی مبادله میکند و سپس در صورت نیاز دسترسی را نوسازی میکند.
توکنها را در پرامپتها، تاریخچهٔ گفتگو، فایلهای کد منبع یا لاگها کپی نکنید. آنها را فقط در محل نگهداری اعتبارنامهٔ کلاینت MCP ذخیره کنید.
دامنههای دسترسی
expenses:readالزامی است. این دامنه کشف فضاهای کاری، مشاهدهٔ اسکیما و اجرای کوئریهای فقطخواندنی را ممکن میکند.expenses:writeاختیاری است. این دامنه بهطور جداگانه ابزار تخریبیsql_executeرا مجاز میکند.
کوچکترین مجموعهٔ دامنههای لازم برای کار را درخواست کنید. کلاینتی که فقط دادهها را تحلیل یا گزارش میکند باید expenses:read را بدون expenses:write درخواست کند.
ابزارها
list_workspaces
فضاهای کاری در دسترس کاربر واردشده را فهرست میکند. پیش از خواندن یا تغییر دادهها، با شناسهٔ بازگشتی مقصد را بهصورت صریح مشخص کنید.
get_schema
رابطهها و ستونهایی را برمیگرداند که MCP برای فضای کاری انتخابشده در دسترس قرار میدهد. پیش از نوشتن SQL آن را فراخوانی کنید و نام جدولها یا ستونها را حدس نزنید.
sql_query
یک کوئری SQL محدود و فقطخواندنی را در فضای کاری انتخابشده اجرا میکند. مسیر کوئری علاوه بر این با یک مرز فقطخواندنی در پایگاه داده محافظت میشود. نتیجه حداکثر ۱۰۰ ردیف دارد و مهلت اجرا ۲۰ ثانیه است.
sql_execute
SQL محدودی را اجرا میکند که دادههای فضای کاری انتخابشده را تغییر میدهد. این ابزار تخریبی است و به دامنهٔ جداگانهٔ expenses:write نیاز دارد. پیش از تأیید فراخوانی، فضای کاری و عبارت دقیق را بررسی کنید.
کل سرور MCP فقطخواندنی نیست، زیرا sql_execute را ارائه میکند. تضمینهای فقطخواندنی مشخصاً برای sql_query و مرز پایگاه دادهٔ آن اعمال میشوند.
استفادهٔ ایمن
list_workspacesرا فراخوانی کنید و فضای کاری موردنظر را با کاربر تأیید کنید.- پیش از تولید SQL، ابزار
get_schemaرا فراخوانی کنید. - برای بررسی، جمعبندی، تطبیق و گزارش از
sql_queryاستفاده کنید. - فقط برای کاری که باید دادهها را تغییر دهد،
expenses:writeرا درخواست کنید. - پیش از
sql_execute، عبارت دقیق و اثر مورد انتظار آن را نمایش دهید و سپس فضای کاری را دوباره تأیید کنید. - پس از نوشتن، نتیجه را با
sql_queryبررسی کنید.
سرور سطح SQL و رابطههای در دسترس را محدود میکند. این کنترلها مکمل بررسی دقیق SQL تولیدشده هستند، نه جایگزین آن.
محدودیتها
- حداکثر ۱۰۰ ردیف در نتایج SQL
- مهلت اجرای ۲۰ ثانیهای
- دسترسی فقط به فضاهای کاری در دسترس کاربر واردشده
sql_queryاز سطح محدود SQL و مرز فقطخواندنی پایگاه داده استفاده میکندsql_executeافزون بر دامنهٔ خواندن الزامی بهexpenses:writeنیاز دارد
حریم خصوصی و میزبانی شخصی
یک کلاینت MCP مجاز میتواند دادههای مالی را بخواند و با expenses:write آنها را تغییر دهد. پیش از اتصال، سیاست حفظ حریم خصوصی و سیاست پردازش دادهٔ خود کلاینت را بررسی کنید.
نشانیهای میزبانیشدهٔ بالا فقط برای سرویس مدیریتشدهٔ Expense Budget Tracker هستند. برای استقرار خودتان، از راهنمای میزبانی شخصی شروع کنید و نقطهٔ اتصال MCP و فرادادهٔ OAuth را برای دامنههای خود پیکربندی کنید. پیادهسازی در مخزن کد منبع موجود است.