Geo MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GEO_GRAPHQL_URL | No | Override the GraphQL API endpoint. Default: https://testnet-api.geobrowser.io/graphql | https://testnet-api.geobrowser.io/graphql |
| GEO_PRIVATE_KEY | No | Your Ethereum private key for the Geo wallet. Optional at startup; can also be configured at runtime via the configure_wallet tool. | |
| GEO_MCP_ALLOWED_PATHS | No | Comma-separated list of allowed directories for read_local_file and create_knowledge_graph_from_file. Defaults to the current working directory. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_propertyC | Create a property definition in the knowledge graph |
| create_typeA | Create a type (schema) that groups properties |
| create_entityC | Create an entity instance in the knowledge graph |
| create_relationB | Create a relation between two entities |
| create_imageC | Create an image entity from a URL |
| update_entityC | Update an existing entity |
| delete_entityC | Delete an entity from the knowledge graph |
| delete_relationA | Delete a relation from the knowledge graph |
| configure_walletA | Configure wallet to enable write operations. Use walletMode=APPROVAL with walletAddress for transaction-return mode (no private key needed). Without any config, the server runs in read-only mode. |
| setup_spaceA | Ensure personal space exists and get space ID. Requires configured wallet. |
| publish_editA | Publish all accumulated ops as an edit to personal space |
| propose_dao_editC | Propose accumulated ops as a DAO edit |
| upsert_canvas_workflowB | Create/update a canvas workflow entity and publish privately or via DAO proposal |
| submit_signed_transactionA | Submit a signed transaction hash for a pending approval-mode transaction. Handles continuations (auto-vote, auto-execute) automatically. |
| get_session_statusA | Get current session state |
| clear_sessionC | Clear all accumulated ops |
| generate_idA | Generate one or more unique Geo knowledge graph IDs (dashless UUID v4) |
| build_schemaA | Build a complete schema (properties + types) in one call. Creates all properties first, then creates types that reference those properties by name. |
| create_knowledge_graphA | Create a complete knowledge graph in one call: schema (properties + types), entities with values, and relations between entities. All name-based references are resolved automatically. |
| read_local_fileA | Read a local file from an allowed path. Useful for ingesting local research outputs, claim JSON, or markdown before publishing to Geo. |
| create_knowledge_graph_from_fileA | Read a local JSON file and create a complete knowledge graph in one call. Accepts either the raw create_knowledge_graph payload or one nested under payload/knowledgeGraph. |
| add_values_to_entityA | Add multiple property values to an existing entity in one call. |
| create_research_paper_and_claimsA | Create a Research Paper entity and multiple Research Claim entities using the canonical Geo research schema. Claim entities are always multi-typed with the canonical GeoBrowser Claim type so they show up in standard Claim views. |
| create_research_ontology_paper_and_claimsA | Create a Paper entity and Claim entities using the GeoBrowser "Research ontology" (Paper/Claim/Person/Topic/Project). This path is designed for Knowledgebook/GeoBrowser UIs that expect claims to be typed as the canonical Claim type. |
| get_system_idsA | Get well-known system entity IDs from the Geo knowledge graph. Returns commonly used type, property, and data type IDs. |
| search_entitiesA | Full-text search for entities in the Geo knowledge graph. Returns matching entities with basic metadata. |
| get_entityA | Get full details of a single entity by ID, including values, relations, backlinks, and types. |
| list_entitiesA | List entities with optional filters for space, type, and name. Supports pagination. |
| get_spaceA | Get details of a single space by ID, including editor/member counts and recent proposals. |
| list_spacesB | List spaces with optional type filter. Supports pagination. |
| get_typeA | Get details of a type definition by ID. Types are entities, so this returns the entity with its values and properties. |
| list_typesA | List type definitions in a specific space. Returns type entities with basic metadata. |
| get_proposalsA | List proposals for a specific space, ordered by creation time (newest first). |
| get_proposalA | Get full details of a single proposal by ID, including vote breakdown. |
| get_proposal_votesA | List votes for a specific proposal. Returns voter IDs, vote direction, and timestamps. |
| get_page_contentA | Get the ordered content blocks of a page entity. Returns text (Markdown) and image blocks in position order. |
| resolve_workspace_entitiesB | Resolve workspace entities by kind and optional name search. |
| upsert_workspace_entityC | Create/update a workspace note/task/project and publish privately or as a DAO proposal. |
| delete_workspace_entityA | Delete a workspace entity and publish the change privately or as a DAO proposal. |
| vote_on_proposalA | Cast a vote on a DAO proposal (YES, NO, or ABSTAIN) |
| propose_accept_editorB | Propose adding a new editor to a DAO space |
| propose_remove_editorB | Propose removing an editor from a DAO space |
| propose_accept_subspaceA | Propose accepting a subspace into a DAO space |
| propose_remove_subspaceB | Propose removing a subspace from a DAO space |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 44 tools
Multiple tools have unclear boundaries, especially create_research_paper_and_claims vs create_research_ontology_paper_and_claims, which appear to do nearly the same thing. High-level builders like create_knowledge_graph and build_schema overlap with granular create_property/create_type/create_entity, and upsert_canvas_workflow vs upsert_workspace_entity are easy to confuse. The descriptions help, but an agent could easily pick the wrong level or duplicate function.
The vast majority of tools follow a clear snake_case verb_noun pattern, such as create_entity, list_spaces, delete_relation, and get_proposal. Minor deviations like create_knowledge_graph_from_file, create_research_paper_and_claims, vote_on_proposal, and propose_accept_editor are still readable but break the simple verb_noun shape slightly.
44 tools is far beyond the typical well-scoped MCP surface and crosses the 25+ threshold for 'too many'. While the server covers several subdomains, many tools are convenience wrappers or near-duplicates, making the overall toolset feel heavy and harder to navigate.
The toolset covers most core workflows: entity CRUD, schema building, research claim creation, workspace management, and DAO proposal/voting. Gaps exist for dedicated property listing, relation reads/updates, and general proposal creation, but agents can work around these using get_entity, search_entities, and propose_dao_edit.