Skip to main content
Glama
norman-finance

Norman Finance MCP Server

Official

update_company_details

Modify company details such as name, address, tax ID, and more on the Norman Finance MCP Server to ensure accurate and up-to-date business information for accounting and tax filing.

Instructions

Update company information.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
activity_startNo
addressNo
cityNo
countryNo
nameNo
phoneNo
professionNo
tax_idNo
tax_stateNo
vat_idNo
zip_codeNo

Implementation Reference

  • The core handler function for the 'update_company_details' tool. It updates optional company fields by making a PATCH request to the Norman API after fetching current data.
    @mcp.tool() async def update_company_details( ctx: Context, name: Optional[str] = None, profession: Optional[str] = None, address: Optional[str] = None, zip_code: Optional[str] = None, city: Optional[str] = None, country: Optional[str] = None, vat_id: Optional[str] = None, tax_id: Optional[str] = None, phone: Optional[str] = None, tax_state: Optional[str] = None, activity_start: Optional[datetime] = None, ) -> Dict[str, Any]: """Update company information.""" api = ctx.request_context.lifespan_context["api"] company_id = api.company_id if not company_id: return {"error": "No company available. Please authenticate first."} company_url = urljoin(config.api_base_url, f"api/v1/companies/{company_id}/") # Get current company data current_data = api._make_request("GET", company_url) # Update only provided fields update_data = {} if name: update_data["name"] = name if profession: update_data["profession"] = profession if address: update_data["address"] = address if zip_code: update_data["zipCode"] = zip_code if city: update_data["city"] = city if country: update_data["country"] = country if vat_id: update_data["vatNumber"] = vat_id if tax_id: update_data["taxNumber"] = tax_id if phone: update_data["phoneNumber"] = phone if tax_state: update_data["taxState"] = tax_state if activity_start: update_data["activityStart"] = activity_start # If no fields provided, return current data if not update_data: return {"message": "No fields provided for update.", "company": current_data} # Update company data updated_company = api._make_request("PATCH", company_url, json_data=update_data) return {"message": "Company updated successfully", "company": updated_company}
  • Main server setup where register_company_tools(server) is called, which in turn registers the update_company_details tool via its @mcp.tool() decorator.
    # Register all tools register_client_tools(server) register_invoice_tools(server) register_tax_tools(server) register_transaction_tools(server) register_document_tools(server) register_company_tools(server) register_prompts(server) register_resources(server)

Latest Blog Posts

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/norman-finance/norman-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server