@hasna/mcps 0.0.16 → 0.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -0
- package/bin/index.js +395 -21
- package/bin/mcp.js +394 -20
- package/dist/index.js +392 -18
- package/dist/mcp/index.js +394 -20
- package/package.json +1 -1
package/dist/mcp/index.js
CHANGED
|
@@ -16618,7 +16618,7 @@ var init_provider_profile_seeds = __esm(() => {
|
|
|
16618
16618
|
provenance: {
|
|
16619
16619
|
source: "curated",
|
|
16620
16620
|
sourceUrl: "https://developers.notion.com/guides/mcp/build-mcp-client",
|
|
16621
|
-
verifiedAt: "2026-05-
|
|
16621
|
+
verifiedAt: "2026-05-11"
|
|
16622
16622
|
}
|
|
16623
16623
|
},
|
|
16624
16624
|
{
|
|
@@ -16650,7 +16650,384 @@ var init_provider_profile_seeds = __esm(() => {
|
|
|
16650
16650
|
provenance: {
|
|
16651
16651
|
source: "curated",
|
|
16652
16652
|
sourceUrl: "https://linear.app/docs/mcp",
|
|
16653
|
-
verifiedAt: "2026-05-
|
|
16653
|
+
verifiedAt: "2026-05-11"
|
|
16654
|
+
}
|
|
16655
|
+
},
|
|
16656
|
+
{
|
|
16657
|
+
id: "github",
|
|
16658
|
+
displayName: "GitHub",
|
|
16659
|
+
description: "Connect GitHub so agents can inspect repositories, manage issues and pull requests, analyze Actions runs, and work with project metadata.",
|
|
16660
|
+
endpoint: "https://api.githubcopilot.com/mcp/",
|
|
16661
|
+
transport: "streamable-http",
|
|
16662
|
+
authType: "oauth2",
|
|
16663
|
+
authMetadata: {
|
|
16664
|
+
oauthVersion: "2.0",
|
|
16665
|
+
pkce: true,
|
|
16666
|
+
dynamicClientRegistration: false,
|
|
16667
|
+
bearerToken: "optional",
|
|
16668
|
+
notes: "GitHub hosts the remote server. OAuth requires host-side GitHub App/OAuth App setup; clients that cannot complete OAuth can use an Authorization bearer GitHub PAT."
|
|
16669
|
+
},
|
|
16670
|
+
scopes: ["repo", "read:org", "read:user", "user:email", "workflow", "notifications", "project"],
|
|
16671
|
+
tokenMode: "user",
|
|
16672
|
+
installFallback: {
|
|
16673
|
+
command: "docker",
|
|
16674
|
+
args: ["run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server"],
|
|
16675
|
+
env: { GITHUB_PERSONAL_ACCESS_TOKEN: "GITHUB_PERSONAL_ACCESS_TOKEN" },
|
|
16676
|
+
packageName: "ghcr.io/github/github-mcp-server",
|
|
16677
|
+
url: "https://api.githubcopilot.com/mcp/"
|
|
16678
|
+
},
|
|
16679
|
+
docsUrl: "https://github.com/github/github-mcp-server",
|
|
16680
|
+
safety: {
|
|
16681
|
+
requiresApproval: true,
|
|
16682
|
+
sensitiveScopes: ["repo", "workflow", "project"],
|
|
16683
|
+
dataClasses: ["repositories", "issues", "pull_requests", "actions", "security_alerts", "organization_members"],
|
|
16684
|
+
notes: "GitHub tools can read private source and mutate repository objects. Prefer least-privilege OAuth scopes or fine-grained PATs and approval-gate write operations."
|
|
16685
|
+
},
|
|
16686
|
+
provenance: {
|
|
16687
|
+
source: "curated",
|
|
16688
|
+
sourceUrl: "https://github.com/github/github-mcp-server",
|
|
16689
|
+
repositoryUrl: "https://github.com/github/github-mcp-server",
|
|
16690
|
+
packageName: "ghcr.io/github/github-mcp-server",
|
|
16691
|
+
verifiedAt: "2026-05-11"
|
|
16692
|
+
}
|
|
16693
|
+
},
|
|
16694
|
+
{
|
|
16695
|
+
id: "slack",
|
|
16696
|
+
displayName: "Slack",
|
|
16697
|
+
description: "Connect Slack so agents can search workspace messages and files, inspect conversations, read user context, and draft or send approved messages.",
|
|
16698
|
+
endpoint: "https://mcp.slack.com/mcp",
|
|
16699
|
+
transport: "streamable-http",
|
|
16700
|
+
authType: "oauth2",
|
|
16701
|
+
authMetadata: {
|
|
16702
|
+
oauthVersion: "2.0",
|
|
16703
|
+
pkce: true,
|
|
16704
|
+
dynamicClientRegistration: false,
|
|
16705
|
+
bearerToken: "none",
|
|
16706
|
+
notes: "Slack's remote MCP endpoint uses Streamable HTTP, requires a registered Slack app identity, and does not support SSE or dynamic client registration."
|
|
16707
|
+
},
|
|
16708
|
+
scopes: [
|
|
16709
|
+
"search:read.public",
|
|
16710
|
+
"search:read.private",
|
|
16711
|
+
"search:read.mpim",
|
|
16712
|
+
"search:read.im",
|
|
16713
|
+
"search:read.files",
|
|
16714
|
+
"search:read.users",
|
|
16715
|
+
"channels:history",
|
|
16716
|
+
"groups:history",
|
|
16717
|
+
"mpim:history",
|
|
16718
|
+
"im:history",
|
|
16719
|
+
"chat:write",
|
|
16720
|
+
"canvases:read",
|
|
16721
|
+
"canvases:write",
|
|
16722
|
+
"users:read",
|
|
16723
|
+
"users:read.email"
|
|
16724
|
+
],
|
|
16725
|
+
tokenMode: "user",
|
|
16726
|
+
docsUrl: "https://docs.slack.dev/ai/slack-mcp-server/",
|
|
16727
|
+
safety: {
|
|
16728
|
+
requiresApproval: true,
|
|
16729
|
+
sensitiveScopes: ["chat:write", "canvases:write", "users:read.email"],
|
|
16730
|
+
dataClasses: ["messages", "files", "channels", "users", "canvases"],
|
|
16731
|
+
notes: "Slack data often includes confidential team communication. Search/read access should stay tenant-scoped and message/canvas writes should require explicit approval."
|
|
16732
|
+
},
|
|
16733
|
+
provenance: {
|
|
16734
|
+
source: "curated",
|
|
16735
|
+
sourceUrl: "https://docs.slack.dev/ai/slack-mcp-server/",
|
|
16736
|
+
verifiedAt: "2026-05-11"
|
|
16737
|
+
}
|
|
16738
|
+
},
|
|
16739
|
+
{
|
|
16740
|
+
id: "gmail",
|
|
16741
|
+
displayName: "Gmail",
|
|
16742
|
+
description: "Connect Gmail through the open Workspace MCP server for mail search, message retrieval, drafts, labels, filters, and approved send workflows.",
|
|
16743
|
+
transport: "stdio",
|
|
16744
|
+
authType: "oauth2",
|
|
16745
|
+
authMetadata: {
|
|
16746
|
+
oauthVersion: "2.1",
|
|
16747
|
+
pkce: true,
|
|
16748
|
+
dynamicClientRegistration: false,
|
|
16749
|
+
bearerToken: "optional",
|
|
16750
|
+
notes: "Workspace MCP is an independent open-source Google Workspace server. Configure your own Google OAuth client and storage backend for Gmail access."
|
|
16751
|
+
},
|
|
16752
|
+
scopes: [
|
|
16753
|
+
"https://www.googleapis.com/auth/gmail.readonly",
|
|
16754
|
+
"https://www.googleapis.com/auth/gmail.modify",
|
|
16755
|
+
"https://www.googleapis.com/auth/gmail.compose",
|
|
16756
|
+
"https://www.googleapis.com/auth/gmail.send"
|
|
16757
|
+
],
|
|
16758
|
+
tokenMode: "user",
|
|
16759
|
+
installFallback: {
|
|
16760
|
+
command: "uvx",
|
|
16761
|
+
args: ["workspace-mcp"],
|
|
16762
|
+
env: { WORKSPACE_MCP_PERMISSIONS: "gmail:send" },
|
|
16763
|
+
packageName: "workspace-mcp",
|
|
16764
|
+
url: "http://127.0.0.1:8000/mcp"
|
|
16765
|
+
},
|
|
16766
|
+
docsUrl: "https://workspacemcp.com/docs",
|
|
16767
|
+
safety: {
|
|
16768
|
+
requiresApproval: true,
|
|
16769
|
+
sensitiveScopes: [
|
|
16770
|
+
"https://www.googleapis.com/auth/gmail.modify",
|
|
16771
|
+
"https://www.googleapis.com/auth/gmail.compose",
|
|
16772
|
+
"https://www.googleapis.com/auth/gmail.send"
|
|
16773
|
+
],
|
|
16774
|
+
dataClasses: ["email_messages", "threads", "attachments", "labels", "contacts"],
|
|
16775
|
+
notes: "Email content and sending are high-impact actions. Prefer read-only permissions until a user intentionally enables drafts or sends."
|
|
16776
|
+
},
|
|
16777
|
+
provenance: {
|
|
16778
|
+
source: "github",
|
|
16779
|
+
sourceUrl: "https://workspacemcp.com/docs",
|
|
16780
|
+
repositoryUrl: "https://github.com/taylorwilsdon/google_workspace_mcp",
|
|
16781
|
+
packageName: "workspace-mcp",
|
|
16782
|
+
verifiedAt: "2026-05-11"
|
|
16783
|
+
}
|
|
16784
|
+
},
|
|
16785
|
+
{
|
|
16786
|
+
id: "google-drive",
|
|
16787
|
+
displayName: "Google Drive",
|
|
16788
|
+
description: "Connect Google Drive through the open Workspace MCP server for file search, folder navigation, content reads, and approved file operations.",
|
|
16789
|
+
transport: "stdio",
|
|
16790
|
+
authType: "oauth2",
|
|
16791
|
+
authMetadata: {
|
|
16792
|
+
oauthVersion: "2.1",
|
|
16793
|
+
pkce: true,
|
|
16794
|
+
dynamicClientRegistration: false,
|
|
16795
|
+
bearerToken: "optional",
|
|
16796
|
+
notes: "Workspace MCP is an independent open-source Google Workspace server. Configure your own Google OAuth client and storage backend for Drive access."
|
|
16797
|
+
},
|
|
16798
|
+
scopes: [
|
|
16799
|
+
"https://www.googleapis.com/auth/drive.readonly",
|
|
16800
|
+
"https://www.googleapis.com/auth/drive.file",
|
|
16801
|
+
"https://www.googleapis.com/auth/drive"
|
|
16802
|
+
],
|
|
16803
|
+
tokenMode: "user",
|
|
16804
|
+
installFallback: {
|
|
16805
|
+
command: "uvx",
|
|
16806
|
+
args: ["workspace-mcp"],
|
|
16807
|
+
env: { WORKSPACE_MCP_PERMISSIONS: "drive:readonly" },
|
|
16808
|
+
packageName: "workspace-mcp",
|
|
16809
|
+
url: "http://127.0.0.1:8000/mcp"
|
|
16810
|
+
},
|
|
16811
|
+
docsUrl: "https://workspacemcp.com/docs",
|
|
16812
|
+
safety: {
|
|
16813
|
+
requiresApproval: true,
|
|
16814
|
+
sensitiveScopes: [
|
|
16815
|
+
"https://www.googleapis.com/auth/drive.file",
|
|
16816
|
+
"https://www.googleapis.com/auth/drive"
|
|
16817
|
+
],
|
|
16818
|
+
dataClasses: ["drive_files", "folders", "documents", "spreadsheets", "attachments", "sharing_permissions"],
|
|
16819
|
+
notes: "Drive access can expose broad business documents. Keep tenant allowlists and approval-gate creation, movement, and permission changes."
|
|
16820
|
+
},
|
|
16821
|
+
provenance: {
|
|
16822
|
+
source: "github",
|
|
16823
|
+
sourceUrl: "https://workspacemcp.com/docs",
|
|
16824
|
+
repositoryUrl: "https://github.com/taylorwilsdon/google_workspace_mcp",
|
|
16825
|
+
packageName: "workspace-mcp",
|
|
16826
|
+
verifiedAt: "2026-05-11"
|
|
16827
|
+
}
|
|
16828
|
+
},
|
|
16829
|
+
{
|
|
16830
|
+
id: "google-calendar",
|
|
16831
|
+
displayName: "Google Calendar",
|
|
16832
|
+
description: "Connect Google Calendar through the open Workspace MCP server for calendar discovery, event reads, and approved scheduling changes.",
|
|
16833
|
+
transport: "stdio",
|
|
16834
|
+
authType: "oauth2",
|
|
16835
|
+
authMetadata: {
|
|
16836
|
+
oauthVersion: "2.1",
|
|
16837
|
+
pkce: true,
|
|
16838
|
+
dynamicClientRegistration: false,
|
|
16839
|
+
bearerToken: "optional",
|
|
16840
|
+
notes: "Workspace MCP is an independent open-source Google Workspace server. Configure your own Google OAuth client and storage backend for Calendar access."
|
|
16841
|
+
},
|
|
16842
|
+
scopes: [
|
|
16843
|
+
"https://www.googleapis.com/auth/calendar.readonly",
|
|
16844
|
+
"https://www.googleapis.com/auth/calendar.events",
|
|
16845
|
+
"https://www.googleapis.com/auth/calendar"
|
|
16846
|
+
],
|
|
16847
|
+
tokenMode: "user",
|
|
16848
|
+
installFallback: {
|
|
16849
|
+
command: "uvx",
|
|
16850
|
+
args: ["workspace-mcp"],
|
|
16851
|
+
env: { WORKSPACE_MCP_PERMISSIONS: "calendar:readonly" },
|
|
16852
|
+
packageName: "workspace-mcp",
|
|
16853
|
+
url: "http://127.0.0.1:8000/mcp"
|
|
16854
|
+
},
|
|
16855
|
+
docsUrl: "https://workspacemcp.com/docs",
|
|
16856
|
+
safety: {
|
|
16857
|
+
requiresApproval: true,
|
|
16858
|
+
sensitiveScopes: [
|
|
16859
|
+
"https://www.googleapis.com/auth/calendar.events",
|
|
16860
|
+
"https://www.googleapis.com/auth/calendar"
|
|
16861
|
+
],
|
|
16862
|
+
dataClasses: ["calendars", "events", "attendees", "attachments", "availability"],
|
|
16863
|
+
notes: "Calendar writes can invite people, reveal availability, and alter operational schedules. Gate creates, updates, and deletes with user approval."
|
|
16864
|
+
},
|
|
16865
|
+
provenance: {
|
|
16866
|
+
source: "github",
|
|
16867
|
+
sourceUrl: "https://workspacemcp.com/docs",
|
|
16868
|
+
repositoryUrl: "https://github.com/taylorwilsdon/google_workspace_mcp",
|
|
16869
|
+
packageName: "workspace-mcp",
|
|
16870
|
+
verifiedAt: "2026-05-11"
|
|
16871
|
+
}
|
|
16872
|
+
},
|
|
16873
|
+
{
|
|
16874
|
+
id: "stripe",
|
|
16875
|
+
displayName: "Stripe",
|
|
16876
|
+
description: "Connect Stripe so agents can inspect accounts, balances, customers, prices, subscriptions, invoices, disputes, and perform approved Stripe API operations.",
|
|
16877
|
+
endpoint: "https://mcp.stripe.com",
|
|
16878
|
+
transport: "streamable-http",
|
|
16879
|
+
authType: "oauth2",
|
|
16880
|
+
authMetadata: {
|
|
16881
|
+
oauthVersion: "2.0",
|
|
16882
|
+
pkce: true,
|
|
16883
|
+
dynamicClientRegistration: false,
|
|
16884
|
+
bearerToken: "optional",
|
|
16885
|
+
notes: "Stripe supports OAuth MCP sessions and restricted API keys as Authorization bearer tokens for clients that do not support OAuth."
|
|
16886
|
+
},
|
|
16887
|
+
tokenMode: "workspace",
|
|
16888
|
+
installFallback: {
|
|
16889
|
+
command: "npx",
|
|
16890
|
+
args: ["-y", "@stripe/mcp"],
|
|
16891
|
+
env: { STRIPE_SECRET_KEY: "STRIPE_SECRET_KEY" },
|
|
16892
|
+
packageName: "@stripe/mcp",
|
|
16893
|
+
url: "https://mcp.stripe.com"
|
|
16894
|
+
},
|
|
16895
|
+
docsUrl: "https://docs.stripe.com/mcp",
|
|
16896
|
+
safety: {
|
|
16897
|
+
requiresApproval: true,
|
|
16898
|
+
sensitiveScopes: ["restricted_api_key", "live_mode"],
|
|
16899
|
+
dataClasses: ["payments", "customers", "subscriptions", "invoices", "disputes", "account_balances"],
|
|
16900
|
+
notes: "Use restricted keys, separate sandbox/live mode, and require approval for any operation that creates, updates, refunds, cancels, or exposes customer data."
|
|
16901
|
+
},
|
|
16902
|
+
provenance: {
|
|
16903
|
+
source: "curated",
|
|
16904
|
+
sourceUrl: "https://docs.stripe.com/mcp",
|
|
16905
|
+
repositoryUrl: "https://github.com/stripe/ai",
|
|
16906
|
+
packageName: "@stripe/mcp",
|
|
16907
|
+
verifiedAt: "2026-05-11"
|
|
16908
|
+
}
|
|
16909
|
+
},
|
|
16910
|
+
{
|
|
16911
|
+
id: "cloudflare",
|
|
16912
|
+
displayName: "Cloudflare",
|
|
16913
|
+
description: "Connect Cloudflare's remote MCP server for account, zone, developer platform, logs, analytics, and approved infrastructure operations.",
|
|
16914
|
+
endpoint: "https://mcp.cloudflare.com/mcp",
|
|
16915
|
+
transport: "streamable-http",
|
|
16916
|
+
authType: "oauth2",
|
|
16917
|
+
authMetadata: {
|
|
16918
|
+
oauthVersion: "2.0",
|
|
16919
|
+
pkce: true,
|
|
16920
|
+
dynamicClientRegistration: false,
|
|
16921
|
+
bearerToken: "none",
|
|
16922
|
+
notes: "Cloudflare's remote MCP server redirects users through Cloudflare authorization and permission selection."
|
|
16923
|
+
},
|
|
16924
|
+
tokenMode: "workspace",
|
|
16925
|
+
docsUrl: "https://developers.cloudflare.com/agents/model-context-protocol/mcp-servers-for-cloudflare/",
|
|
16926
|
+
safety: {
|
|
16927
|
+
requiresApproval: true,
|
|
16928
|
+
sensitiveScopes: ["account_admin", "zone_write", "workers_write", "dns_write"],
|
|
16929
|
+
dataClasses: ["accounts", "zones", "dns_records", "workers", "logs", "analytics", "security_events"],
|
|
16930
|
+
notes: "Cloudflare tools can affect live infrastructure. Require account scoping, least-privilege permissions, and approval for write operations."
|
|
16931
|
+
},
|
|
16932
|
+
provenance: {
|
|
16933
|
+
source: "curated",
|
|
16934
|
+
sourceUrl: "https://github.com/cloudflare/mcp",
|
|
16935
|
+
repositoryUrl: "https://github.com/cloudflare/mcp",
|
|
16936
|
+
verifiedAt: "2026-05-11"
|
|
16937
|
+
}
|
|
16938
|
+
},
|
|
16939
|
+
{
|
|
16940
|
+
id: "postgres",
|
|
16941
|
+
displayName: "PostgreSQL",
|
|
16942
|
+
description: "Connect a PostgreSQL database through the reference read-only MCP server for schema inspection and SQL query analysis.",
|
|
16943
|
+
transport: "stdio",
|
|
16944
|
+
authType: "api_key",
|
|
16945
|
+
authMetadata: {
|
|
16946
|
+
bearerToken: "none",
|
|
16947
|
+
notes: "The stdio server takes a PostgreSQL connection URL argument. Store the URL in a secret manager or environment variable and grant read-only database credentials."
|
|
16948
|
+
},
|
|
16949
|
+
tokenMode: "service",
|
|
16950
|
+
installFallback: {
|
|
16951
|
+
command: "npx",
|
|
16952
|
+
args: ["-y", "@modelcontextprotocol/server-postgres", "${POSTGRES_URL}"],
|
|
16953
|
+
packageName: "@modelcontextprotocol/server-postgres"
|
|
16954
|
+
},
|
|
16955
|
+
docsUrl: "https://www.npmjs.com/package/@modelcontextprotocol/server-postgres",
|
|
16956
|
+
safety: {
|
|
16957
|
+
readOnly: true,
|
|
16958
|
+
requiresApproval: false,
|
|
16959
|
+
sensitiveScopes: ["database_connection_url"],
|
|
16960
|
+
dataClasses: ["database_schema", "table_rows", "query_results"],
|
|
16961
|
+
notes: "Use read-only database users and network allowlists. Treat query results as sensitive even when the server enforces read-only transactions."
|
|
16962
|
+
},
|
|
16963
|
+
provenance: {
|
|
16964
|
+
source: "npm",
|
|
16965
|
+
sourceUrl: "https://www.npmjs.com/package/@modelcontextprotocol/server-postgres",
|
|
16966
|
+
repositoryUrl: "https://github.com/modelcontextprotocol/servers",
|
|
16967
|
+
packageName: "@modelcontextprotocol/server-postgres",
|
|
16968
|
+
verifiedAt: "2026-05-11"
|
|
16969
|
+
}
|
|
16970
|
+
},
|
|
16971
|
+
{
|
|
16972
|
+
id: "filesystem",
|
|
16973
|
+
displayName: "Filesystem",
|
|
16974
|
+
description: "Connect the reference filesystem MCP server for scoped local file and directory reads, writes, searches, metadata, and move operations.",
|
|
16975
|
+
transport: "stdio",
|
|
16976
|
+
authType: "none",
|
|
16977
|
+
authMetadata: {
|
|
16978
|
+
bearerToken: "none",
|
|
16979
|
+
notes: "Filesystem access is bounded by explicit root directories passed to the local stdio server."
|
|
16980
|
+
},
|
|
16981
|
+
tokenMode: "none",
|
|
16982
|
+
installFallback: {
|
|
16983
|
+
command: "npx",
|
|
16984
|
+
args: ["-y", "@modelcontextprotocol/server-filesystem", "${workspaceFolder}"],
|
|
16985
|
+
packageName: "@modelcontextprotocol/server-filesystem"
|
|
16986
|
+
},
|
|
16987
|
+
docsUrl: "https://www.npmjs.com/package/@modelcontextprotocol/server-filesystem",
|
|
16988
|
+
safety: {
|
|
16989
|
+
requiresApproval: true,
|
|
16990
|
+
destructiveTools: ["write_file", "delete_file", "move_file", "create_directory"],
|
|
16991
|
+
dataClasses: ["local_files", "source_code", "documents", "directory_metadata"],
|
|
16992
|
+
notes: "Always constrain roots to intended project directories and approval-gate write, delete, and move operations."
|
|
16993
|
+
},
|
|
16994
|
+
provenance: {
|
|
16995
|
+
source: "npm",
|
|
16996
|
+
sourceUrl: "https://www.npmjs.com/package/@modelcontextprotocol/server-filesystem",
|
|
16997
|
+
repositoryUrl: "https://github.com/modelcontextprotocol/servers",
|
|
16998
|
+
packageName: "@modelcontextprotocol/server-filesystem",
|
|
16999
|
+
verifiedAt: "2026-05-11"
|
|
17000
|
+
}
|
|
17001
|
+
},
|
|
17002
|
+
{
|
|
17003
|
+
id: "browser",
|
|
17004
|
+
displayName: "Browser Automation",
|
|
17005
|
+
description: "Connect Playwright MCP so agents can navigate pages, inspect accessibility snapshots, fill forms, capture screenshots, and run browser automation.",
|
|
17006
|
+
transport: "stdio",
|
|
17007
|
+
authType: "none",
|
|
17008
|
+
authMetadata: {
|
|
17009
|
+
bearerToken: "none",
|
|
17010
|
+
notes: "Playwright MCP runs browser automation locally and may reuse browser profile state unless configured for isolation."
|
|
17011
|
+
},
|
|
17012
|
+
tokenMode: "none",
|
|
17013
|
+
installFallback: {
|
|
17014
|
+
command: "npx",
|
|
17015
|
+
args: ["-y", "@playwright/mcp"],
|
|
17016
|
+
packageName: "@playwright/mcp"
|
|
17017
|
+
},
|
|
17018
|
+
docsUrl: "https://playwright.dev/docs/getting-started-mcp",
|
|
17019
|
+
safety: {
|
|
17020
|
+
requiresApproval: true,
|
|
17021
|
+
destructiveTools: ["browser_click", "browser_type", "browser_file_upload", "browser_run_code"],
|
|
17022
|
+
dataClasses: ["web_pages", "forms", "cookies", "local_storage", "screenshots", "browser_profiles"],
|
|
17023
|
+
notes: "Browser automation can submit forms, alter accounts, and expose logged-in sessions. Prefer isolated profiles and require approval for side-effecting actions."
|
|
17024
|
+
},
|
|
17025
|
+
provenance: {
|
|
17026
|
+
source: "curated",
|
|
17027
|
+
sourceUrl: "https://playwright.dev/docs/getting-started-mcp",
|
|
17028
|
+
repositoryUrl: "https://github.com/microsoft/playwright-mcp",
|
|
17029
|
+
packageName: "@playwright/mcp",
|
|
17030
|
+
verifiedAt: "2026-05-11"
|
|
16654
17031
|
}
|
|
16655
17032
|
}
|
|
16656
17033
|
];
|
|
@@ -16773,22 +17150,19 @@ function getDb() {
|
|
|
16773
17150
|
db.exec("ALTER TABLE provider_profiles ADD COLUMN auth_metadata TEXT NOT NULL DEFAULT '{}'");
|
|
16774
17151
|
} catch {}
|
|
16775
17152
|
db.exec("CREATE INDEX IF NOT EXISTS idx_provider_profiles_enabled ON provider_profiles(enabled)");
|
|
16776
|
-
const
|
|
16777
|
-
|
|
16778
|
-
|
|
16779
|
-
|
|
16780
|
-
|
|
16781
|
-
|
|
16782
|
-
|
|
16783
|
-
|
|
16784
|
-
|
|
16785
|
-
|
|
16786
|
-
|
|
16787
|
-
|
|
16788
|
-
|
|
16789
|
-
});
|
|
16790
|
-
run();
|
|
16791
|
-
}
|
|
17153
|
+
const insertProviderProfile = db.prepare(`
|
|
17154
|
+
INSERT OR IGNORE INTO provider_profiles (
|
|
17155
|
+
id, display_name, description, endpoint, transport, fallback_endpoints,
|
|
17156
|
+
auth_type, auth_metadata, scopes, token_mode, install_fallback,
|
|
17157
|
+
docs_url, safety, provenance, enabled
|
|
17158
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
17159
|
+
`);
|
|
17160
|
+
const seedProviderProfiles = db.transaction(() => {
|
|
17161
|
+
for (const profile of DEFAULT_PROVIDER_PROFILE_SEEDS) {
|
|
17162
|
+
insertProviderProfile.run(profile.id, profile.displayName, profile.description ?? null, profile.endpoint ?? null, profile.transport, JSON.stringify(profile.fallbackEndpoints ?? []), profile.authType, JSON.stringify(profile.authMetadata ?? {}), JSON.stringify(profile.scopes ?? []), profile.tokenMode ?? "none", JSON.stringify(profile.installFallback ?? null), profile.docsUrl ?? null, JSON.stringify(profile.safety ?? {}), JSON.stringify(profile.provenance), profile.enabled === false ? 0 : 1);
|
|
17163
|
+
}
|
|
17164
|
+
});
|
|
17165
|
+
seedProviderProfiles();
|
|
16792
17166
|
db.exec(`
|
|
16793
17167
|
CREATE TABLE IF NOT EXISTS feedback (
|
|
16794
17168
|
id TEXT PRIMARY KEY DEFAULT (lower(hex(randomblob(16)))),
|
|
@@ -35279,7 +35653,7 @@ function buildMcpTools() {
|
|
|
35279
35653
|
},
|
|
35280
35654
|
{
|
|
35281
35655
|
name: "list_provider_profiles",
|
|
35282
|
-
description: "List curated provider profiles for hosted/common MCP integrations such as
|
|
35656
|
+
description: "List curated provider profiles for hosted/common MCP integrations such as GitHub, Slack, Google Workspace, Stripe, Cloudflare, Postgres, filesystem, and browser automation.",
|
|
35283
35657
|
paramsSchema: {
|
|
35284
35658
|
enabled_only: exports_external2.boolean().optional().describe("Only include enabled provider profiles")
|
|
35285
35659
|
},
|
|
@@ -35289,7 +35663,7 @@ function buildMcpTools() {
|
|
|
35289
35663
|
name: "search_provider_profiles",
|
|
35290
35664
|
description: "Search curated provider profiles separately from raw MCP registry/source search.",
|
|
35291
35665
|
paramsSchema: {
|
|
35292
|
-
query: exports_external2.string().describe("Search query such as '
|
|
35666
|
+
query: exports_external2.string().describe("Search query such as 'github', 'slack', 'postgres', or an endpoint URL"),
|
|
35293
35667
|
enabled_only: exports_external2.boolean().optional().describe("Only include enabled provider profiles")
|
|
35294
35668
|
},
|
|
35295
35669
|
run: ({ query, enabled_only }) => jsonContent(searchProviderProfiles(String(query), { enabledOnly: enabled_only === true }))
|