Agent tools

This site registers in-page WebMCP tools via document.modelContext (with the legacy navigator.modelContext alias) on every page, so browser agents act through declared, typed functions instead of DOM guessing. Everything is additive: the site is fully server-rendered and no content is gated behind a tool.

get_profile_factsread-only

Return the operational facts of Erkam Demirci's practice: location, contact channels, response commitment, live product count, platforms, stack, and current availability. Read-only. Returns JSON {name, job_title, location, email, whatsapp, response_time, products_live, platforms, stack, availability, social: [{label, url}]} — or {error}.

get_servicesread-only

List the services offered (web design & development, corporate websites, mobile apps, brand identity & design systems) with what each includes, the engagement model, and the FAQ. Read-only. Returns JSON {services: [{title, summary, includes[]}], engagement_steps[], faq: [{question, answer}], quote_url} — or {error}.

get_case_studiesread-only

List the front-end reconstruction studies shown on the site — measured rebuilds of live websites, re-identified under fictional brands and published no-index — with type, role, one-line summary, and case-study URL. Read-only. Returns JSON {projects: [{name, slug, type, role, summary, url}], total} — or {error}.

list_blog_postsread-only

List blog guides (Turkish-language corpus) newest first: slug, title, excerpt, publish date, reading time, URL. Read-only, paginated. Returns JSON {posts: [{slug, title, excerpt, date_published, reading_minutes, language, url}], total, has_more, next_offset} — or {error}.

get_blog_postread-only

Fetch one blog post as markdown with YAML frontmatter (title, description, canonical_url, last_updated, language). Posts are Turkish. Read-only. Returns JSON {slug, url, markdown} — or {error}.

get_pageread-only

Fetch any indexable page of this site as clean markdown (the same content the HTML renders, with frontmatter). Read-only. Returns JSON {path, url, markdown} — or {error}.

request_quoteaction

Send a project brief to Erkam Demirci (the site's real contact rail — an email lands in his inbox and gets a written reply within 48 hours on working days). Requires the user's explicit consent to KVKK personal-data processing. If the mail rail is not yet configured the tool does not send and instead returns the direct email handoff. Returns JSON {status: "sent"|"email_fallback", email, note} — or {error}.

Notes for agents

  • Quotes and availability change — confirm via get_profile_facts or the contact page live.
  • request_quote sends a real brief and requires the user's explicit KVKK consent (kvkk_consent: true).
  • Every indexable page also exists as markdown at <url>.md — e.g. /services.md; the index is /llms.txt.