Tool Use & Function Calling
Top 4 MCP Servers for AI Agent Tooling
Choosing an MCP server for an AI agent is less about finding a universal winner and more about matching the integration to the work. An agent reviewing pull requests, updating a knowledge base, investigating a database, or editing local code needs different tools—and different boundaries around what it can access or change.
This shortlist covers four options for those jobs: GitHub MCP Server, Notion MCP, Supabase MCP Server, and Filesystem MCP Server. I’d compare them by the data they connect to, the actions they expose, and how you can limit access.
Some offer read-only modes or configurable tool access; others include operations that can modify workspace, project, or local file data. The practical takeaway is to choose for the specific workflow, then scope credentials, permissions, tools, and directories accordingly.

Quick picks
For GitHub work, the GitHub MCP Server supports choosing toolsets or individual tools, and offers a read-only mode that disables write tools. Its effective access still depends on the permissions of its GitHub credentials, and lockdown mode is not an authorization boundary.
For workspace content, Notion MCP can read and write pages using the connected user’s permissions. The official server supports local STDIO and Streamable HTTP; HTTP deployment requires bearer-token authentication unless an explicitly unsafe option is used.
For Supabase development and operations, Supabase MCP covers queries as well as project management, schema and migration work, branching, logs, and advisor findings. Because that tool surface can include state-changing actions, consider the features, project scope, and permissions the agent actually needs.
For local coding tasks, Filesystem MCP Server provides file and directory operations within configured allowed directories. It can also write, edit, or move files, including overwriting an existing file, so a directory allowlist does not make it read-only.
Product shortlist
1. GitHub MCP Server
GitHub MCP ServerThe GitHub MCP Server is a natural fit when an agent needs to work with GitHub repositories, issues, pull requests, or related capabilities. What I like about its configuration options is that you can choose which toolsets or individual tools to expose, rather than giving an agent every available action by default.
It also offers a read-only mode, which is useful when an agent should inspect GitHub data but not make changes.
What I like
- Toolset and individual-tool selection lets operators limit the capabilities exposed to an agent.
- Read-only mode disables write tools, helping keep an agent to review and information-gathering tasks.
Limitations
- The server's effective access depends on the permissions of the GitHub credentials it uses.
- Lockdown mode is a best-effort content filter, not an authorization boundary, so it should not replace carefully scoped credentials.
My take
I’d consider this server for agents that need GitHub-specific context, especially when the task involves repositories, issues, or pull requests. Its configuration options make it possible to tailor the available tools to the workflow.
The important boundary is credential scope: read-only mode disables write tools, but the documentation says access still depends on the credentials provided. I would avoid treating lockdown mode as a security control; limit credential permissions to the access the agent actually needs.
Best for
Best for developers building agents that need selected GitHub capabilities, particularly read-oriented workflows where tool selection and read-only mode can help constrain available actions.
Sources: GitHub MCP Server: Server Configuration Guide.
2. Notion MCP
Notion MCPNotion MCP is a practical fit when an agent needs to retrieve or update workspace content rather than work primarily in code or a database. I like that the official server supports both local STDIO and Streamable HTTP setups, giving teams options for how they connect it.
Its main design question is access: the agent operates with the connected user’s Notion permissions, so the integration should be limited to the pages, databases, and capabilities the task actually requires.
What I like
- It lets compatible AI applications read and write Notion pages, which suits agents that need workspace content as context or need to make updates.
- The official server supports local STDIO and Streamable HTTP transports, accommodating different deployment setups.
- Teams can narrow access by limiting the integration’s capabilities and connecting only the relevant pages or databases.
Limitations
- The connection inherits the connected user’s Notion permissions, so a broadly privileged account can expose more workspace content than an agent needs.
- HTTP deployment requires bearer-token authentication; the server documentation describes disabling authentication as unsafe.
- The MCP API does not expose every Notion operation, including database deletion.
My take
For a documentation assistant, project agent, or internal knowledge workflow, Notion MCP can make workspace pages available without asking the model to work from copied text alone. Write access is useful, but it also makes a narrowly scoped integration important.
Best for
Choose Notion MCP when an agent needs to read or update selected Notion content. Before connecting it, scope the integration and page access to the task; use bearer-token protection for HTTP deployments.
Sources: Connect AI tools with Notion MCP; makenotion/notion-mcp-server: Official Notion MCP Server.
3. Supabase MCP Server
Supabase MCP ServerI’d consider the Supabase MCP Server when an agent needs to work with a Supabase project, not just retrieve records from it. Supabase describes tools for querying data alongside project management, schema and migration work, branching, configuration, logs, and advisor findings.
That breadth can make it useful across development workflows, but it also means you should decide which operations the agent actually needs before exposing the server.
What I like
- It brings database queries and project-level development tasks into one documented tool surface.
- Access to logs and advisor findings can help an agent investigate a project as well as interact with its data.
- The range of capabilities gives developers flexibility to tailor tool access to a workflow.
Limitations
- The available actions depend on configured features, project scope, and permissions.
- Some capabilities can change project or database state, so broad access may be inappropriate for an agent that only needs to read data.
My take
What stands out to me is the mix of investigation and operational tools. An agent might query data or retrieve logs, but the documented surface also includes schema and migration work and project management.
Best for
Consider it for agents that need Supabase-specific development or operational workflows. If the agent only needs read access, configure its available features and permissions accordingly.
Sources: MCP Server | Supabase Features.
4. Filesystem MCP Server
Filesystem MCP ServerFor a coding agent that needs to inspect or change project files on the machine where it runs, the Filesystem MCP Server offers a direct, configurable path to local file operations. I like its clear boundary: you specify which directories the server may access.
That makes it a practical fit for scoped repository work, but it is not automatically read-only, so its write capabilities deserve attention before you connect it to an agent.
What I like
- It supports reading, writing, editing, moving, searching, and listing files and directories, covering common local coding tasks.
- You can define the directories the server is allowed to access, giving the agent a specific local data boundary.
- The documented Docker bind-mount option provides an additional isolation approach when directory scoping alone is not enough.
Limitations
- The server includes write-capable and destructive operations, and an existing file can be overwritten.
- The allowed-directory boundary limits where operations happen, but does not prevent changes within those directories.
My take
I would choose this server when an agent needs access to a particular local project rather than a remote service. Its broad file operations can support repository inspection and edits through one integration, while the configured directory list gives you a concrete place to start limiting access.
The key trade-off is that the same access can include destructive changes. Keep the allowed directories narrow, and consider Docker bind mounts if you need additional filesystem isolation.
If the agent only needs to read files, do not assume that directory scoping makes the server read-only; account for the available mutation tools in your setup.
Best for
Developers building local coding agents that need to read or modify selected project files. It is a less suitable choice when you need a strictly read-only boundary without further controls.
Sources: Filesystem MCP Server README.
How to choose
Choose by the data and actions your agent needs: repository context, workspace pages, Supabase operations, or local project files. Then narrow access to the required tools, credentials, pages, projects, or directories.
Read-only needs deserve special attention; a directory allowlist or content filter alone does not guarantee an authorization boundary.
Common mistakes: Don’t assume an MCP server is read-only, or give it broad credentials when the task needs limited access. Check whether its exposed tools can change or overwrite data.
FAQ: Can I safely expose an MCP server over HTTP? Not without suitable authentication and access limits; the Notion server documentation specifically warns against disabling HTTP authentication.
My verdict: Choose the integration that matches the workflow, then minimize its permissions. For code work, that may mean GitHub or local files; for workspace knowledge, Notion; for database and project operations, Supabase.
Sources: GitHub MCP Server: Server Configuration Guide; Connect AI tools with Notion MCP; makenotion/notion-mcp-server: Official Notion MCP Server; MCP Server | Supabase Features; Filesystem MCP Server README.
Which option fits?
I’d choose based on the agent’s actual data source and the actions it needs: GitHub for repository-related work, Notion for selected workspace content, Supabase for project and database workflows, or Filesystem for local project files. None should get broader access simply because a workflow might need it later.
Before connecting one, list the tools and data the task requires, then narrow credentials, permissions, integrations, projects, or allowed directories to match. If the agent only needs to inspect information, verify that write-capable tools are disabled or otherwise controlled; a content filter or directory boundary alone may not prevent changes.
For HTTP deployment, check the server’s authentication requirements before exposing it. Start with the smallest practical access scope, then expand only when the workflow calls for it.