Research MCP Server
The Research MCP Server integrates with Notion to manage survey data:
Retrieve survey summaries
Get detailed information about a specific survey by ID
Fetch property definitions for survey summaries
Update survey properties (date, number, status, rich text, selection, multi-select)
Update content blocks of survey summary pages
Create new survey summary pages with titles and optional body content
Allows to retrieve survey data from Notion and create survey pages in Notion
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Research MCP Servercreate a new survey about user preferences for our mobile app"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Research MCP Server
This is a repository for the research project on the MCP server.
Features
Work as an MCP server.
Retrieve survey data from Notion.
Create survey pages in Notion.
Related MCP server: Notion MCP Server
Prerequisites
Python 3.12.1 or later
uv 0.5.25 or later
Claude Desktop Client
How to Use
Clone the repository.
Obtain a Notion token from Notion Integrations.
Create a database page in Notion and retrieve the database ID. The database ID is the last part of the page URL.
Create a
.envfile as shown below:NOTION_TOKEN=[YOUR_NOTION_TOKEN] NOTION_ROOT_DATABASE_ID=[YOUR_NOTION_DATABASE_ID]Add an MCP server definition to
claude_desktop.json:{ ... "mcpServers": { "Research MCP Server": { "command": "uv", "args": [ "run", "--with", "mcp[cli]", "--with", "notion-client", "--with", "pydantic", "mcp", "run", "/path/to/research-mcp-server/server.py" ] } } }Restart the Claude Desktop Client to launch the Research MCP Server.
Ask Claude to perform a survey and review the results.
Available Tools
6 toolscreate_new_survey_summaryD
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| body | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_property_definitionB
Get property definition for survey summary
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the action ('Get'), implying a read operation, but lacks details on permissions, rate limits, error handling, or what 'property definition' entails (e.g., format, scope). This is inadequate for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no wasted words, making it highly concise and front-loaded. It efficiently communicates the core purpose without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what a 'property definition' includes, the return format, or behavioral aspects like safety or constraints. For a tool with no structured data support, this leaves significant gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is acceptable here, but it could have clarified implicit inputs (e.g., context-specific identifiers). Baseline is 4 for zero parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the resource ('property definition for survey summary'), making the purpose understandable. However, it doesn't differentiate this tool from its siblings like 'get_survey_summary' or 'get_survey_summaries', which also retrieve survey-related data but target different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It doesn't mention scenarios for retrieving property definitions specifically, prerequisites, or how it differs from sibling tools that handle survey summaries or updates, leaving the agent without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_survey_summariesC
Get survey summaries
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. 'Get survey summaries' implies a read operation but doesn't specify whether it returns all summaries, filtered results, paginated data, or error conditions. It lacks details on permissions, rate limits, or response format, leaving significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise ('Get survey summaries') but borders on under-specification rather than efficient communication. It's front-loaded but lacks the necessary detail to be truly helpful. While not verbose, it fails to earn a higher score due to insufficient content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a vague description, the tool definition is incomplete for effective use. The agent lacks information on what the tool returns, how it behaves, or how it differs from siblings. For a tool with multiple related siblings, this minimal description leaves too many contextual gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so the schema fully documents the absence of inputs. The description doesn't need to compensate for any parameter gaps. While it doesn't add semantic value beyond the schema, the baseline for this scenario is 4, as the schema already provides complete parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get survey summaries' is a tautology that merely restates the tool name without adding specificity. It doesn't clarify what 'survey summaries' are, what format they come in, or how this differs from the sibling 'get_survey_summary' tool. While it uses a clear verb ('Get'), it lacks the resource specificity needed for a higher score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'get_survey_summary' or 'create_new_survey_summary'. The description doesn't mention context, prerequisites, or exclusions. The agent must infer usage from the tool name alone, which is insufficient for effective tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_survey_summaryD
Get survey summary
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but offers nothing beyond the basic action. It doesn't indicate whether this is a read-only operation, what permissions might be required, whether it has side effects, rate limits, or what format the summary returns. The description fails to compensate for the complete lack of annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While technically concise with just three words, this description is under-specified rather than efficiently structured. It lacks the necessary information density - every word should earn its place, but these three words provide almost no value beyond the tool name itself. The description is too brief to be helpful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a single undocumented parameter, no annotations, no output schema, and multiple sibling tools, the description is completely inadequate. It doesn't explain what a 'survey summary' is, how it differs from other survey-related tools, what the parameter means, or what the tool returns. For a tool with this complexity and context, the description fails to provide essential information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, meaning the single parameter 'page_id' has no documentation in the schema. The description provides no information about this parameter - not what it represents, what format it should have, where to obtain it, or how it affects the operation. The description fails completely to compensate for the schema's documentation gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get survey summary' is a tautology that merely restates the tool name without adding any meaningful context. It doesn't specify what 'survey summary' entails, what resource it retrieves, or how it differs from sibling tools like 'get_survey_summaries' (plural). The description fails to provide the specific verb+resource clarity needed for effective tool selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides absolutely no guidance on when to use this tool versus alternatives. There's no mention of prerequisites, appropriate contexts, or distinctions from sibling tools like 'get_survey_summaries' or 'create_new_survey_summary'. The agent receives no help in determining when this specific tool should be invoked.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_survey_summary_blockD
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes | ||
| body | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_survey_summary_propertyC
Update survey summary property
To know definition of properties, use `get_property_definition` tool in advance.
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes | ||
| updates | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states this is an 'update' operation, implying mutation, but doesn't disclose any behavioral traits: no information about permissions needed, whether changes are reversible, rate limits, error conditions, or what happens on success. The description adds minimal behavioral context beyond the obvious implication of mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief with two sentences that each serve a purpose: stating the operation and providing a prerequisite. There's no unnecessary verbiage. However, it could be more front-loaded with clearer purpose before the prerequisite note.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with 2 parameters, 0% schema coverage, no annotations, and no output schema. The description doesn't explain what a 'survey summary property' is, what resource is being updated, what the parameters mean, what happens after execution, or how this differs from sibling tools. For a tool with this complexity and lack of structured documentation, the description is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It mentions 'properties' but doesn't explain what 'page_id' refers to or what the 'updates' array contains. The reference to 'get_property_definition' hints at property semantics but doesn't clarify parameter meanings. The description adds some context but doesn't adequately explain the two required parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Update survey summary property' which is a tautology that merely restates the tool name. While it indicates a mutation operation (update), it doesn't specify what 'survey summary property' means or what resource is being modified. It lacks the specificity needed to distinguish this tool from its sibling 'update_survey_summary_block'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides one explicit guideline: 'To know definition of properties, use `get_property_definition` tool in advance.' This gives a prerequisite action but doesn't explain when to use this tool versus alternatives like 'update_survey_summary_block' or 'create_new_survey_summary'. The guidance is helpful but incomplete regarding sibling tool differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
6 tool updates
v1.0.0- First observed
create_new_survey_summary - First observed
get_property_definition - First observed
get_survey_summaries - First observed
get_survey_summary - First observed
update_survey_summary_block - First observed
update_survey_summary_property
TDQS
The tools are mostly distinct with clear purposes: creating, getting, and updating survey summaries, plus a property definition tool. However, 'get_survey_summaries' and 'get_survey_summary' could be slightly confusing due to similar names, but their descriptions clarify one fetches multiple summaries and the other a single one. No major overlap exists between other tools.
The naming follows a consistent verb_noun pattern with snake_case throughout, such as 'create_new_survey_summary' and 'update_survey_summary_property'. The only minor deviation is 'get_property_definition' which uses a slightly different noun structure compared to others, but it still fits the overall pattern well.
With 6 tools, this server is well-scoped for managing survey summaries in a research context. The count is appropriate, covering core operations like create, get, and update without being overwhelming or too sparse, making it efficient for agents to handle typical workflows.
The server provides good coverage for survey summary operations, including create, get, and update functions. However, there is a notable gap: no delete tool is present, which could limit full lifecycle management. Additionally, while property handling is included, the lack of a delete operation for survey summaries reduces completeness for CRUD workflows.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
MCP server giving Claude AI access to 22+ NYC public-record databases for real estate due diligence
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP Server for the Notion API, enabling Claude to interact with Notion workspaces.314,626922MIT
- AlicenseNot gradedqualityDmaintenanceA server that connects to the Notion API and exposes functionality through Claude's Machine Context Protocol, enabling search, retrieval, querying, and creation of Notion pages and databases.991MIT
- -licenseNot gradedqualityNot gradedmaintenanceAn MCP server that enables natural language interaction with the Notion API, allowing users to search, comment, create pages, and access content within their Notion workspace.172,212-
- FlicenseNot gradedqualityDmaintenanceA Python server that integrates MCP with Notion to automate documentation workflows and manage Notion pages via LLMs, supporting operations like creating, updating, and searching Notion content.1-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/h-yanagawa/research-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server